From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2525642604 for ; Thu, 21 Sep 2023 08:45:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 134C4402F0; Thu, 21 Sep 2023 08:45:53 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id C874E402C3 for ; Wed, 20 Sep 2023 00:42:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695163360; x=1726699360; h=message-id:date:mime-version:subject:from:to:cc; bh=NHlhQcyKufCBHUZKFdIGhC1gAfx0iszBvDWCp/vnYoo=; b=hNcC+gxRyWJ+1yLtEvz4718RsE41nxJP0SdcJkWSAfsF8nbb9coWTVtc jbr+/Ri4tjL7LMD3TfyP7aKkq8XpeWft7J3BgozTc7aWaecBdeITHBOsT AarvZVjZDM6cWom4czXfdrpD8zz3obQC8Rq2Ojk+hyCYW8RinyaJeSFWZ sVFtwLepFvSgdKXkBiKG9mYBQMf3mYMAISRzecQ5FMUm6bu/iQ6EVPjRo sKePQprqY09Uch/GKIPTPl1DrrLplpi8ZUfC6m1cz87kOlhq3QT99EWX2 DaEKS86jNMVk00qp07B7tp8T3BkK6zCB7CEldEgC7VFlRimTZHNC5yrW4 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10838"; a="360323722" X-IronPort-AV: E=Sophos;i="6.02,160,1688454000"; d="scan'208";a="360323722" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Sep 2023 15:42:37 -0700 Message-Id: <89f00f$matfq7@fmsmga007-auth.fm.intel.com> Date: 19 Sep 2023 15:41:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10838"; a="749649973" X-IronPort-AV: E=Sophos;i="6.02,160,1688454000"; d="scan'208";a="749649973" Received: from unknown (HELO [10.239.252.161]) ([10.239.252.161]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Sep 2023 15:41:03 -0700 Content-Type: multipart/alternative; boundary="===============3999668639687143655==" MIME-Version: 1.0 Subject: compilation|FAILURE| pw(131586) sid(29539) job(PER_PATCH_BUILD9069)[v1, 7/7] baseband/acc: add configure helper for VRB2 From: sys_stv@intel.com To: test-report@dpdk.org, nicolas.chautru@intel.com Cc: X-Mailman-Approved-At: Thu, 21 Sep 2023 08:45:51 +0200 X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============3999668639687143655== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 ClRlc3QtTGFiZWw6IEludGVsLWNvbXBpbGF0aW9uClRlc3QtU3RhdHVzOiBGQUlMVVJFCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xMzE1ODYKCl9Db21waWxhdGlvbiBpc3N1ZXNfCgpTdWJtaXR0ZXI6 IE5pY29sYXMgQ2hhdXRydSA8bmljb2xhcy5jaGF1dHJ1QGludGVsLmNvbT4KRGF0ZTogMjAyMy0w OS0xOSAwMToyMTozNgpSZXBseV9tYWlsOiA8MjAyMzA5MTkwMTIxMzYuMjgxODM5Ni04LW5pY29s YXMuY2hhdXRydUBpbnRlbC5jb20+CgpEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLW5leHQt YmFzZWJhbmQsIENvbW1pdElEOiBkMDZhMjU5ZDI0MzI2MWMwZWY0MTZhNmNlNWZiMzljNWU1OTI0 NjQ1CgoKTWVzb24gQnVpbGQgU3VtbWFyeTogMjUgQnVpbGRzIERvbmUsIDAgU3VjY2Vzc2Z1bCwg MjUgRmFpbHVyZXMsIDAgQmxvY2tlZAoKKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rCnwgb3MgICAgICAgICAgICAgICAgfCBnY2Mtc3RhdGljIHwg Y2xhbmctc3RhdGljIHwgaWNjLXN0YXRpYyB8IGdjYy1zaGFyZWQgfCBnY2MtZGVidWcgfCBkb2N1 bWVudCB8IGdjYy0xNmJ5dGUgfAorLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSsKfCBPcGVuQW5vbGlzOC44LTY0ICB8IGZhaWwgICAgICAgfCAgICAg ICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAg IHwgICAgICAgICAgICB8CnwgRnJlZUJTRDEzLTY0ICAgICAgfCBmYWlsICAgICAgIHwgZmFpbCAg ICAgICAgIHwgICAgICAgICAgICB8IGZhaWwgICAgICAgfCBmYWlsICAgICAgfCAgICAgICAgICB8 ICAgICAgICAgICAgfAp8IFJIRUw5Mi02NCAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAg ICAgICB8ICAgICAgICAgICAgfCBmYWlsICAgICAgIHwgZmFpbCAgICAgIHwgICAgICAgICAgfCAg ICAgICAgICAgIHwKfCBTVVNFMTUtNjQgICAgICAgICB8IGZhaWwgICAgICAgfCBmYWlsICAgICAg ICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAg ICAgICAgICB8CnwgQ0JMLU1hcmluZXIyLjAtNjQgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAg IHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAg ICAgICAgfAp8IFVCMjAwNC02NCAgICAgICAgIHwgZmFpbCAgICAgICB8ICAgICAgICAgICAgICB8 ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAg ICAgIHwKfCBVQjIyMDQtMzIgICAgICAgICB8IGZhaWwgICAgICAgfCAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAg ICB8CnwgUkhFTDg3LTY0ICAgICAgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAg ICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAg fAp8IFVCMjIwNC02NCAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAgICAgICB8ICAgICAg ICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgZmFpbCAgICAgfCBmYWlsICAgICAgIHwK fCBDZW50T1M3OS02NCAgICAgICB8IGZhaWwgICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAg ICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8Cnwg UkhFTDkyLTY0UnQgICAgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAg ICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAp8IFVC MjMwNC02NCAgICAgICAgIHwgZmFpbCAgICAgICB8ICAgICAgICAgICAgICB8ICAgICAgICAgICAg fCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBGQzM4 LTY0ICAgICAgICAgICB8IGZhaWwgICAgICAgfCBmYWlsICAgICAgICAgfCAgICAgICAgICAgIHwg ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8CnwgVUIyMjA0 LTY0UnQgICAgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAg ICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAorLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKCkNvbW1lbnRzOiAK QmVjYXVzZSBvZiBEUERLIGJ1ZyAoaHR0cHM6Ly9idWdzLmRwZGsub3JnL3Nob3dfYnVnLmNnaT9p ZD05MjgpLApBbGwgdGhlIGRwZGstbmV4dC0qIGJyYW5jaCBhZGQgYERkaXNhYmxlX2RyaXZlcnM9 ZXZlbnQvY254a2Agb3B0aW9uIHdoZW4gYnVpbGQgd2l0aCBJQ0MgY29tcGxpZXIuIAogClRlc3Qg ZW52aXJvbm1lbnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6CgoKT1M6IE9wZW5Bbm9saXM4 LjgtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjEwLjEzNC0xMy5hbjgueDg2XzY0CglHQ0MgVmVyc2lv bjogZ2NjIChHQ0MpIDguNS4wIDIwMjEwNTE0IChBbm9saXMgOC41LjAtMTAuMC4zKQoJQ2xhbmcg VmVyc2lvbjogMTMuMC4xIChBbm9saXMgMTMuMC4xLTIuMC4yLm1vZHVsZSthbjguNy4wKzEwOTk2 KzE1ODhmMDY4KQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCk9TOiBGcmVlQlNEMTMtNjQK CUtlcm5lbCBWZXJzaW9uOiAxMy4yLVJFTEVBU0UKCUdDQyBWZXJzaW9uOiBnY2MgKEZyZWVCU0Qg UG9ydHMgQ29sbGVjdGlvbikgMTIuMi4wCglDbGFuZyBWZXJzaW9uOiAxNC4wLjUgKGh0dHBzOi8v Z2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC5naXQgbGx2bW9yZy0xNC4wLjUtMC1nYzEyMzg2 YWUyNDdjKQoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCgl4ODZfNjQtbmF0aXZlLWJzZGFwcC1j bGFuZwoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjK3NoYXJlZAoJeDg2XzY0LW5hdGl2ZS1ic2Rh cHAtZ2NjK2RlYnVnCgpPUzogUkhFTDkyLTY0CglLZXJuZWwgVmVyc2lvbjogNS4xNC4wLTI4NC4x MS4xLmVsOV8yLng4Nl82NAoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSAxMS4zLjEgMjAyMjExMjEg KFJlZCBIYXQgMTEuMy4xLTQpCglDbGFuZyBWZXJzaW9uOiAxNS4wLjcgKFJlZCBIYXQgMTUuMC43 LTIuZWw5KQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCXg4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK3NoYXJlZAoJeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MrZGVidWcKCk9TOiBTVVNFMTUtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE0 LjIxLTE1MDUwMC41My1kZWZhdWx0CglHQ0MgVmVyc2lvbjogZ2NjIChTVVNFIExpbnV4KSA3LjUu MAoJQ2xhbmcgVmVyc2lvbjogMTUuMC43Cgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoKT1M6IENCTC1NYXJpbmVyMi4wLTY0CglLZXJuZWwg VmVyc2lvbjogNS4xNS41NS4xXzJlOWE0ZjkrCglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDExLjIu MAoJQ2xhbmcgVmVyc2lvbjogTkEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIy MDA0LTY0CglLZXJuZWwgVmVyc2lvbjogNS44LjAtNDgtZ2VuZXJpYwoJR0NDIFZlcnNpb246IGdj YyAoVWJ1bnR1IDEwLjMuMC0xdWJ1bnR1MX4yMC4wNCkgMTAuMy4wCglDbGFuZyBWZXJzaW9uOiAx MC4wLjAtNHVidW50dTEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMjA0LTMy CglLZXJuZWwgVmVyc2lvbjogNS4xNS4wLTU4LWdlbmVyaWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVi dW50dSAxMS40LjAtMXVidW50dTF+MjIuMDQpIDExLjQuMAoJQ2xhbmcgVmVyc2lvbjogTkEKCWk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwoKT1M6IFJIRUw4Ny02NAoJS2VybmVsIFZlcnNpb246IDQu MTguMC00MjUuMy4xLmVsOC54ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgOC41LjAgMjAy MTA1MTQgKFJlZCBIYXQgOC41LjAtMTUpCglDbGFuZyBWZXJzaW9uOiBOQQoJeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MKCk9TOiBVQjIyMDQtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE1LjAtNTgt Z2VuZXJpYwoJR0NDIFZlcnNpb246IGdjYyAoVWJ1bnR1IDExLjQuMC0xdWJ1bnR1MX4yMi4wNCkg MTEuNC4wCglDbGFuZyBWZXJzaW9uOiAxNC4wLjAtMXVidW50dTEuMQoJeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MrMTZieXRlCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5h dGl2ZS1saW51eGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1kb2MKCk9TOiBDZW50 T1M3OS02NAoJS2VybmVsIFZlcnNpb246IDMuMTAuMC0xMTYwLjgxLjEuZWw3Lng4Nl82NAoJR0ND IFZlcnNpb246IGdjYyAoR0NDKSA0LjguNSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS00NCkKCUNs YW5nIFZlcnNpb246IDMuNC4yICh0YWdzL1JFTEVBU0VfMzQvZG90Mi1maW5hbCkKCXg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjCgpPUzogUkhFTDkyLTY0UnQKCUtlcm5lbCBWZXJzaW9uOiA1LjE0 LjAtMjg0LjExLjEucnQxNC4yOTYuZWw5XzIueDg2XzY0CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0Mp IDExLjMuMSAyMDIyMTEyMSAoUmVkIEhhdCAxMS4zLjEtNCkKCUNsYW5nIFZlcnNpb246IDE1LjAu NyAoUmVkIEhhdCAxNS4wLjctMi5lbDkpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoKT1M6 IFVCMjMwNC02NAoJS2VybmVsIFZlcnNpb246IDYuMi4wLTIwLWdlbmVyaWMKCUdDQyBWZXJzaW9u OiBnY2MgKFVidW50dSAxMi4yLjAtMTd1YnVudHUxKSAxMi4yLjAKCUNsYW5nIFZlcnNpb246IE5B Cgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoKT1M6IEZDMzgtNjQKCUtlcm5lbCBWZXJzaW9u OiA2LjIuOS0zMDAuZmMzOC54ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgMTMuMC4xIDIw MjMwNDAxIChSZWQgSGF0IDEzLjAuMS0wKQoJQ2xhbmcgVmVyc2lvbjogMTYuMC4wIChGZWRvcmEg MTYuMC4wLTIuZmMzOCkKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgl4ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWNsYW5nCgpPUzogVUIyMjA0LTY0UnQKCUtlcm5lbCBWZXJzaW9uOiA1LjE3LjUt MDUxNzA1LWdlbmVyaWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSAxMS40LjAtMXVidW50dTF+ MjIuMDQpIDExLjQuMAoJQ2xhbmcgVmVyc2lvbjogMTQuMC4wLTF1YnVudHUxLjEKCXg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjCgoKCipCdWlsZCBGYWlsZWQgIzE6Ck9TOiBPcGVuQW5vbGlzOC44 LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xp YnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIApn Y2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucCAtSWRyaXZlcnMgLUkuLi9k cml2ZXJzIC1JZHJpdmVycy9iYXNlYmFuZC9hY2MgLUkuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYyAt SWxpYi9iYmRldiAtSS4uL2xpYi9iYmRldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAt SWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5j bHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUku Li9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1v biAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUls aWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxl bWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVt cG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2 ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvcGNpIC1JLi4vbGli L3BjaSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1X YWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmln LmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwg LVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90 eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFy aXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0 cmluZ3MgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxp emVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5U QUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVf TE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIuYWNjIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRl X2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAtTUYgZHJpdmVy cy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMu by5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19y dGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYwou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJf cXVldWVfc2V0dXDigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAz NzoyOTogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU4oCZ PwogIGVsc2UgaWYgKGNvbmYtPm9wX3R5cGUgPT0gIFJURV9CQkRFVl9PUF9NTERUUykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MTAzNzoyOTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX3ByaW50 X29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6MjQ6IGVy cm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KICB9IGVs c2UgaWYgKG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX01MRFRTKSB7CiAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfT1BfRkZUCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjIyOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEw OTk6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKICAgICBvcF9tbGR0cy0+bWxkdHMubnVtX3Ji cywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhydGVfYmJkZXZfbG9n4oCZCiAgICMjX19WQV9BUkdTX18pCiAgICAgXn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJi X2Rldl9pbmZvX2dldOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzox MzMyOjU6IGVycm9yOiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT07igJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCY UlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9O4oCZPwogICAgIFJURV9CQkRFVl9M RFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTiB8CiAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2NjoxMjogZXJyb3I6IOKAmFJU RV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU4oCZPwogICAgLnR5cGUgPSBSVEVf QkJERVZfT1BfTUxEVFMsCiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAg ICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTM2OTo3OiBlcnJvcjog4oCYUlRFX0JCREVWX01MRFRTX1JFUOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfREVWX1JF U0VU4oCZPwogICAgICAgUlRFX0JCREVWX01MRFRTX1JFUCwKICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgIFJURV9CQkRFVl9ERVZfUkVTRVQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9mY3dfbGRfZmlsbOKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxOTcyOjQ2OiBlcnJvcjog4oCYUlRFX0JC REVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJ VF9DT01QUkVTU0lPTuKAmT8KICB9IGVsc2UgaWYgKGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3Bf ZmxhZ3MsIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTikpIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2VuY19v bmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzM3Mzo0 MzogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VS Uk9S4oCZPwogIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JC REVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbGRwY19l bmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0 MjU6MzU6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVO VF9FUlJPUuKAmT8KICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZf RU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZW5jX29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjQ0OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lO RV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAgIG9wLT5zdGF0dXMgfD0gKChy c3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JC REVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IElu IGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU0MDozNTogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJ TkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogIG9wLT5zdGF0dXMgfD0gcnNw LmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9sZHBjX2Rl Y19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5 NTozNTogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5U X0VSUk9S4oCZPwogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9F TkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRF Vl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBm dW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9kZWNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM2Nzc6NDQ6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5F X0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KICAgb3AtPnN0YXR1cyB8PSAoKHJz cC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24g4oCYdnJiMl9kbWFfZGVzY19mZnRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzozOTkwOjQ0OiBlcnJvcjog4oCYUlRFX0JCREVWX0ZGVF9ERVdJ TkRPV0lOR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhSVEVfQkJERVZfRkZUX1dJTkRPV0lOR+KAmT8KICBib29sIHdpbl9lbiA9IGNo ZWNrX2JpdChvcC0+ZmZ0Lm9wX2ZsYWdzLCBSVEVfQkJERVZfRkZUX0RFV0lORE9XSU5HKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX0ZGVF9XSU5ET1dJTkcKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MDE2OjE4OiBlcnJvcjog4oCYUlRFX0JCREVWX01BWF9DU+KAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfTUFYX0NT XzLigJk/CiAgZm9yIChpID0gMDsgaSA8IFJURV9CQkRFVl9NQVhfQ1M7IGkrKykKICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUFY X0NTXzIKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g 4oCYdnJiX2VucXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MDQ5OjE2OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTigJkg aGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmTsgZGlkIHlvdSBtZWFu IOKAmHdpbmRvd19pbmRleOKAmT8KICB3aW4gPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0LmRh dGE7CiAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgd2lu ZG93X2luZGV4Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA1MzoyMzog ZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ04oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYZGV3aW5kb3dpbmdfaW5wdXTigJk7IGRpZCB5b3UgbWVhbiDigJh3aW5kb3dfaW5kZXjigJk/ CiAgd2luX29mZnNldCA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0OwogICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAg d2luZG93X2luZGV4Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE0MjozNTogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJS T1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2lu ZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDE5MjoyODogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiB2cmIyX2Zj d19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zj d19tbGR0cyAqZmN3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKA mHZyYjJfZmN3X21sZHRzX2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDE5NDoxNTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogIGZjdy0+bnJiID0gb3AtPm1s ZHRzLm51bV9yYnM7CiAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjEzOjMzOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBk ZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRl IG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIHZyYjJfZG1hX2Rl c2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZG1hX2Rlc2NfbWxkdHNf ZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI2Ojg6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6MzE6IGVycm9yOiDi gJhSVEVfQkJERVZfU0NQRVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogIHNjX251bSA9 IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVw ICsgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjE6MTE6IGVycm9yOiB2YXJpYWJsZSDi gJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQt YnV0LXNldC12YXJpYWJsZV0KICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9NTERf UlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMDoxMTogZXJy b3I6IHZhcmlhYmxlIOKAmHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9y PXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01M RF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxOToxMTogZXJyb3I6IHZhcmlhYmxl IOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQt c2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0g PSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICAgICAgIF5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODozNjogZXJyb3I6IOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0 IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFy YXRpb24gWy1XZXJyb3JdCiB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqb3ApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEluIGZ1bmN0aW9uIOKAmHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludOKAmToKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc1Ojg6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKICBpZiAob3AtPm1sZHRzLmNfcmVwID09IDApCiAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyODk6NTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNp YmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQog ZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0X29w4oCZOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDQ6MTQ6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKICBpbnB1dF9xID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5kYXRhOwogICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxMToyMjog ZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZy b20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRl ci10eXBlc10KICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4OiBu b3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3Vt ZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiB2cmIyX2Zj d19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zj d19tbGR0cyAqZmN3KQogICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MzE6IGVy cm9yOiDigJhSVEVfQkJERVZfU0NQRVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogIHNj X251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVwIGZv cmNlZCB0byB6ZXJvLiAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9DUkNfRVJS T1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjk0OjExOiBlcnJvcjog dmFyaWFibGUg4oCYc2NfZmFjdG9yX3Blcl9ycmVw4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJy b3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgdWludDE2X3Qgc2NfZmFjdG9yX3Blcl9ycmVw W1ZSQjJfTUxEX1JSRVBfU0laRV0gPSB7MTIsIDYsIDQsIDMsIDAsIDJ9OwogICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy OTM6MTE6IGVycm9yOiB2YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNl ZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICB1aW50MTZfdCByc2l6ZV9wZXJf cmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwgNDJ9OwogICAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTI6MTE6IGVycm9y OiB2YXJpYWJsZSDigJhxc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11 bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICB1aW50MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERf TEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExheWVyIDIgdG8gNC4gKi8KICAgICAgICAgICBe fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9w IGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NTA6IGVy cm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJh bWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9u IG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFj Y19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGVucXVl dWVfbWxkdHNfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzODI6MTQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKICBpbnB1dF9xID0gb3AtPm1sZHRzLnFo eV9pbnB1dC5kYXRhOwogICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM4ODoyMjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIy X2Zjd19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBm Y3cpOwogICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MTkyOjQ4OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAq4oCZCiB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICAgICAgICAgICAgICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzODk6Mjc6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9k bWFfZGVzY19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdl cnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICB2cmIyX2RtYV9kZXNjX21sZHRzX2Zp bGwob3AsICZkZXNjLT5yZXEsIGlucHV0X3EsIGlucHV0X3IsIG91dHB1dCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjEzOjUzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkg YnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZ CiB2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3As CiAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MDE6MTA6IGVycm9yOiDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3 aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0 aW9uIFstV2Vycm9yXQogICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1aW50MTZf dCBudW0pCiAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9lbnF1ZXVlX21sZHRz4oCZOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTU6NDY6IGVycm9yOiBwYXNz aW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW504oCZIGZyb20g aW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10 eXBlc10KICAgYXNfb25lX29wID0gdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KG9wc1tpXSk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjU2OiBub3RlOiBleHBlY3RlZCDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiB2cmIyX2NoZWNrX21sZF9yX2NvbnN0 cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTY6Mzk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKICAg ZGVzY3NfaW5fb3AgPSBhc19vbmVfb3AgPyAxIDogb3BzW2ldLT5tbGR0cy5jX3JlcCArIDE7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQyNjozNzogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBv ZiDigJhlbnF1ZXVlX21sZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgICByZXQgPSBlbnF1ZXVl X21sZHRzX29uZV9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fl5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzNzE6NzA6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICrigJkKIGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI4OjM5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAy IG9mIOKAmGVucXVldWVfbWxkdHNfc3BsaXRfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRl ciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICAgcmV0ID0gZW5x dWV1ZV9tbGR0c19zcGxpdF9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDI4OTo3Mjogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKuKAmQogZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVl ICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6MzE6IGVycm9yOiDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxs IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9u IFstV2Vycm9yXQogICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICoqcmVmX29wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9u IOKAmGRlcXVldWVfbWxkdHNfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0OTk6NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogIG9wLT5zdGF0dXMgPSAw OwogICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjM2OiBl cnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1Li gJk/CiAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVf RVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VW RU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBs ZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTMxOjEwOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1l dGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBv ciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9w cywgdWludDE2X3QgbnVtKQogICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZGVxdWV1ZV9t bGR0c+KAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTQyOjQxOiBl cnJvcjogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGRlcXVldWVfbWxkdHNfb25lX29w4oCZIGZy b20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRl ci10eXBlc10KICAgcmV0ID0gZGVxdWV1ZV9tbGR0c19vbmVfb3AocV9kYXRhLCBxLCAmb3BzW2ld LCBkZXF1ZXVlZF9jYnMsICZhcV9kZXF1ZXVlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQ0NTU6NTI6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KirigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAqKuKAmQogICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICoqcmVmX29wLAogICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Xn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uIOKAmHZyYl9iYmRldl9pbml04oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ1NzM6NzogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXbigJkgaGFzIG5vIG1l bWJlciBuYW1lZCDigJhlbnF1ZXVlX21sZHRzX29wc+KAmTsgZGlkIHlvdSBtZWFuIOKAmGVucXVl dWVfZGVjX29wc+KAmT8KICBkZXYtPmVucXVldWVfbWxkdHNfb3BzID0gdnJiMl9lbnF1ZXVlX21s ZHRzOwogICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgIGVucXVldWVfZGVjX29wcwouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NzQ6NzogZXJyb3I6IOKAmHN0cnVj dCBydGVfYmJkZXbigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXF1ZXVlX21sZHRzX29wc+KA mTsgZGlkIHlvdSBtZWFuIOKAmGRlcXVldWVfZGVjX29wc+KAmT8KICBkZXYtPmRlcXVldWVfbWxk dHNfb3BzID0gdnJiMl9kZXF1ZXVlX21sZHRzOwogICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAg ICAgIGRlcXVldWVfZGVjX29wcwpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVy cm9ycwpbMjIzOC8yNzYxXSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2V2ZW50X3N3LnBtZC5jIHdp dGggYSBjdXN0b20gY29tbWFuZApbMjIzOS8yNzYxXSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2Ny eXB0b19jbnhrLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29u IHRvIGNhcHR1cmUgb3V0cHV0KQpbMjI0MC8yNzYxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2xhMTJ4eC5hLnAvYmFzZWJhbmRfbGExMnh4X2JiZGV2X2xh MTJ4eC5jLm8KWzIyNDEvMjc2MV0gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9jcnlwdG9fb2N0ZW9u dHguc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2Fw dHVyZSBvdXRwdXQpClsyMjQyLzI3NjFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfZXZlbnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nzb3ZmX3dvcmtlci5jLm8K WzIyNDMvMjc2MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9ldmVudF9v Y3Rlb250eC5hLnAvZXZlbnRfb2N0ZW9udHhfc3NvdmZfZXZkZXZfc2VsZnRlc3QuYy5vClsyMjQ0 LzI3NjFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBn YV9sdGVfZmVjLmEucC9iYXNlYmFuZF9mcGdhX2x0ZV9mZWNfZnBnYV9sdGVfZmVjLmMubwpbMjI0 NS8yNzYxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2Zw Z2FfNWducl9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWNfcnRlX2ZwZ2FfNWducl9mZWMu Yy5vClsyMjQ2LzI3NjFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFz ZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX2FjYzEwMF9wbWQuYy5vCm5pbmphOiBidWls ZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMyOgpPUzogRnJlZUJTRDEzLTY0ClRhcmdldDog eDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2Vi YW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAKZ2NjIC1JZHJpdmVycy9s aWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZl cnMvYmFzZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MgLUlsaWIvYmJkZXYgLUku Li9saWIvYmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1 ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2ZyZWVic2QvaW5jbHVkZSAtSS4uL2xp Yi9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwv eDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2Vh bCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNz IC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxp Yi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGli L3JpbmcgLUkuLi9saWIvcmluZyAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3Bj aSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9ic2QgLUlsaWIvcGNpIC1JLi4vbGliL3BjaSAtZmRpYWdu b3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxp ZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1 YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2Vj dXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3Rl ZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1j b21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1h ZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNz aW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09V UkNFIC1EX19CU0RfVklTSUJMRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVO VEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRF X0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmJiLmFjYyAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0 ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLU1GIGRyaXZl cnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5j Lm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2Nf cnRlX3ZyYl9wbWQuYy5vIC1jIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmMK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9x dWV1ZV9zZXR1cCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzoz NjogZXJyb3I6ICdSVEVfQkJERVZfT1BfTUxEVFMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KIDEwMzcgfCAg ICAgICAgIGVsc2UgaWYgKGNvbmYtPm9wX3R5cGUgPT0gIFJURV9CQkRFVl9PUF9NTERUUykKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09Q X0ZGVAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwMzc6MzY6IG5vdGU6 IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfcHJpbnRfb3AnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjEwOTU6MzE6IGVycm9yOiAnUlRFX0JCREVWX09QX01MRFRTJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JC REVWX09QX0ZGVCc/CiAxMDk1IHwgICAgICAgICB9IGVsc2UgaWYgKG9wX3R5cGUgPT0gUlRFX0JC REVWX09QX01MRFRTKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX09QX0ZGVApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzoyMjoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMDk5OjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AnCiAxMDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvcF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyAncnRlX2JiZGV2X2xvZycKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1Nf XykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NjY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDEwOTkgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+ bWxkdHMubnVtX2xheWVycywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2Ji ZGV2X2xvZycKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjExMDA6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAn c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDExMDAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5yX3JlcCwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3Bt ZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfYmJkZXZfbG9nJwog ICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTEwMTo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogMTEwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g J3J0ZV9iYmRldl9sb2cnCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjY0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAxMTAxIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5v cF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3Bt ZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfYmJkZXZfbG9nJwog ICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEluIGZ1bmN0aW9uICd2cmJfZGV2X2luZm9fZ2V0JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxMzMyOjMzOiBlcnJvcjogJ1JURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9D T01QUkVTU0lPTicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4gJ1JURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTic/CiAxMzMyIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRf Q09NUFJFU1NJT04gfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY2OjM1OiBlcnJvcjogJ1JURV9C QkRFVl9PUF9NTERUUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogMTM2NiB8ICAgICAgICAgICAgICAgICAg ICAgICAgIC50eXBlICAgPSBSVEVfQkJERVZfT1BfTUxEVFMsCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2OTo0OTogZXJyb3I6ICdSVEVfQkJERVZfTUxEVFNf UkVQJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDEzNjkgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUxE VFNfUkVQLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJfZmN3X2xkX2ZpbGwnOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE5NzI6NTM6IGVycm9yOiAnUlRFX0JCREVWX0xEUENfSEFS UV80QklUX0NPTVBSRVNTSU9OJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJz8K IDE5NzIgfCAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFn cywgUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkgewogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NP TVBSRVNTSU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0 aW9uICd2cmJfZGVxdWV1ZV9lbmNfb25lX29wX2NiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzozMzczOjUwOiBlcnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVf QkJERVZfRVZFTlRfRVJST1InPwogMzM3MyB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5l bmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9kZXF1ZXVlX2xkcGNfZW5jX29u ZV9vcF90Yic6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQyNTo0Mjog ZXJyb3I6ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDM0 MjUgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9F TkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9kZXF1ZXVlX2VuY19vbmVf b3BfdGInOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NTg6IGVy cm9yOiAnUlRFX0JCREVWX0VOR0lORV9FUlJPUicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAzNDkz IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEg PDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZGVxdWV1ZV9kZWNfb25lX29wX2Ni JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTQwOjQyOiBlcnJvcjog J1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogMzU0MCB8ICAg ICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfbGRwY19kZWNfb25lX29w X2NiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjQyOiBlcnJv cjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogMzU5NSB8 ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lO RV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfZGVjX29uZV9vcF90 Yic6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzY3Nzo1ODogZXJyb3I6 ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDM2NzcgfCAg ICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBS VEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJfZG1hX2Rlc2NfZmZ0X2ZpbGwnOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM5OTA6NTE6IGVycm9yOiAnUlRFX0JC REVWX0ZGVF9ERVdJTkRPV0lORycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9GRlRfV0lORE9XSU5HJz8KIDM5OTAgfCAgICAg ICAgIGJvb2wgd2luX2VuID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsIFJURV9CQkRFVl9G RlRfREVXSU5ET1dJTkcpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0ZG VF9XSU5ET1dJTkcKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDE2OjI1 OiBlcnJvcjogJ1JURV9CQkRFVl9NQVhfQ1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfTUFYX0NTXzInPwogNDAxNiB8ICAg ICAgICAgZm9yIChpID0gMDsgaSA8IFJURV9CQkRFVl9NQVhfQ1M7IGkrKykKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX01BWF9DU18yCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZW5xdWV1ZV9mZnRfb25lX29wJzoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDQ5OjIyOiBlcnJvcjogJ3N0cnVjdCBy dGVfYmJkZXZfb3BfZmZ0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdkZXdpbmRvd2luZ19pbnB1dCcK IDQwNDkgfCAgICAgICAgIHdpbiA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDA1MzoyOTogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdCcgaGFzIG5v IG1lbWJlciBuYW1lZCAnZGV3aW5kb3dpbmdfaW5wdXQnCiA0MDUzIHwgICAgICAgICB3aW5fb2Zm c2V0ID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogSW4gZnVuY3Rpb24gJ3ZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3AnOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxNDI6NDI6IGVycm9yOiAnUlRFX0JCREVWX0VOR0lORV9F UlJPUicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiA0MTQyIHwgICAgICAgICBvcC0+c3RhdHVzIHw9 IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JC REVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0 IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjI4 OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnIGRlY2xhcmVkIGluc2lkZSBwYXJh bWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9u IG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2Zjd19t bGR0c19maWxsJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjIy OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnCiA0MTk0IHwgICAgICAgICBmY3ctPm5yYiA9IG9wLT5tbGR0cy5udW1fcmJzOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDE5NToyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDE5NSB8ICAgICAgICAgZmN3LT5OTGF5ZXJz ID0gb3AtPm1sZHRzLm51bV9sYXllcnMgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTY6MjU6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQxOTYgfCAgICAgICAgIGZjdy0+UW1vZDAgPSAob3AtPm1sZHRzLnFfbVswXSA+PiAx KSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk3OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MTk3IHwgICAgICAgICBm Y3ctPlFtb2QxID0gKG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDE5ODoyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogNDE5OCB8ICAgICAgICAgZmN3LT5RbW9kMiA9IChvcC0+bWxkdHMu cV9tWzJdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTk6MjU6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQxOTkg fCAgICAgICAgIGZjdy0+UW1vZDMgPSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjAxOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg J3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjAxIHwgICAgICAgICBpZiAob3AtPm1sZHRz Lm51bV9sYXllcnMgPT0gMikgewogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjA1IHwgICAgICAg ICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPT0gMykKICAgICAgfCAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNzoyMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwog NDIwNyB8ICAgICAgICAgZmN3LT5ScmVwID0gb3AtPm1sZHRzLnJfcmVwOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMDg6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCcKIDQyMDggfCAgICAgICAgIGZjdy0+Q3JlcCA9IG9wLT5tbGR0cy5j X3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMTM6MzM6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjEzIHwg dnJiMl9kbWFfZGVzY19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIy X2RtYV9kZXNjX21sZHRzX2ZpbGwnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMjY6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMjYgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAg PiA1KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjI3OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg J3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjI3IHwgICAgICAgICAgICAgICAgIG9wLT5t bGR0cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI4OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjI4IHwgICAgICAg ICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI5OjE5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0 MjI5IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzA6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCcKIDQyMzAgfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVy cyA+IDQpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMzE6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzEgfCAgICAgICAgICAgICAgICAgb3At Pm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMjoyNzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzMiB8 ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKyspCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMzM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzMgfCAgICAgICAgICAgICAgICAgb3V0 c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzQ6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5u dW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIzNDozODogZXJyb3I6ICdSVEVfQkJERVZfU0NQRVJSQicgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9DUkNfRVJS T1InPwogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJE RVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6NjE6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzQgfCAg ICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAo b3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjM1IHwgICAgICAgICByX251bSA9 IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjM1OjU4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg J3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5t bGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2OjMzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiA0MjM2IHwgICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9s YXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzozMzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogNDIzNyB8ICAgICAgICAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1f bGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMToxODogZXJy b3I6IHZhcmlhYmxlICdzY19mYWN0b3JfcGVyX3JyZXAnIHNldCBidXQgbm90IHVzZWQgWy1XZXJy b3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjIxIHwgICAgICAgICB1aW50MTZfdCBzY19m YWN0b3JfcGVyX3JyZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07 CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIwOjE4OiBlcnJvcjogdmFyaWFibGUgJ3JzaXpl X3Blcl9yZScgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJs ZV0KIDQyMjAgfCAgICAgICAgIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0la RV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjE5OjE4OiBlcnJvcjogdmFy aWFibGUgJ3FzaXplX3Blcl9yZScgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0 LXNldC12YXJpYWJsZV0KIDQyMTkgfCAgICAgICAgIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIy X01MRF9MQVlfU0laRV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICB8 ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjY4OjM2OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnIGRlY2xh cmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2Yg dGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDI2OCB8IHZyYjJfY2hl Y2tfbWxkX3JfY29uc3RyYWludChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCkgewogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIy X2NoZWNrX21sZF9yX2NvbnN0cmFpbnQnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyNzU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyNzUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMuY19y ZXAgPT0gMCkKICAgICAgfCAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDI3OCB8ICAgICAgICAgbGF5 ZXJfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlF UiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2lu Y2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToyNTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAn UlRFX01JTicKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mjc4IHwgICAgICAgICBsYXllcl9pZHgg PSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6NjE1OjM0OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdSVEVfTUlO JwogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyODA6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4 ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29t bW9uLmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIDYx NSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyODA6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCcKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+ bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIDYxNSB8ICAgICAgICAgICAg ICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODQ6 MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCcKIDQyODQgfCAgICAgICAgIHJldHVybiAob3AtPm1sZHRzLm51bV9yYnMgPD0g bWF4X3JiW2xheWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo1MjogZXJyb3I6ICdzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIDQyODkgfCBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVl dWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAnZW5x dWV1ZV9tbGR0c19zcGxpdF9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMwNDoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wJwogNDMwNCB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5x aHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMwNSB8ICAgICAg ICAgaW5wdXRfciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDY6MjA6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCcKIDQzMDYgfCAgICAgICAgIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzA3OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg J3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzA3IHwgICAgICAgICBpbl9vZmZzZXQgPSBv cC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjI0OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3An CiA0MzA4IHwgICAgICAgICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMDk6MjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMDkgfCAgICAgICAgIG51bV9zeW1zID0g b3AtPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTE6Mjk6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2YgJ3ZyYjJfZmN3X21sZHRzX2ZpbGwnIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzMTEgfCAg ICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODogbm90 ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicKIDQxOTIgfCB2cmIyX2Zjd19t bGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19t bGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE1OjE1 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnCiA0MzE1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAg fCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMxNjoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogNDMxNiB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMucl9yZXAg PSA1OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDMxNzoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMxNyB8ICAgICAgICAgaWYgKG9wLT5t bGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxODoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMxOCB8ICAgICAg ICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE5OjE1OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AnCiA0MzE5IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPiA0KQogICAg ICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzIwOjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AnCiA0MzIwIHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1f bGF5ZXJzID0gNDsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjI6Mjc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjIgfCAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzIzOjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AnCiA0MzIzIHwgICAgICAgICAgICAgICAgIG91dHNpemVfcGVyX3Jl ICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjIw OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnCiA0MzI0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJU RV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzI0OjM4OiBlcnJvcjogJ1JURV9CQkRFVl9TQ1BFUlJCJyB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0NSQ19FUlJPUic/CiA0 MzI0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BF UlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjUgfCAgICAg ICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1s ZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjUgfCAgICAgICAgIHJf bnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJf cmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz MjY6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQzMjYgfCAgICAgICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+ bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzI3OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AnCiA0MzI3IHwgICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3At Pm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mjk0OjE4OiBlcnJvcjogdmFyaWFibGUgJ3NjX2ZhY3Rvcl9wZXJfcnJlcCcgc2V0IGJ1dCBub3Qg dXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTQgfCAgICAgICAgIHVp bnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0 LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTM6MTg6IGVycm9yOiB2YXJp YWJsZSAncnNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQt c2V0LXZhcmlhYmxlXQogNDI5MyB8ICAgICAgICAgdWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJf TUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTI6MTg6 IGVycm9yOiB2YXJpYWJsZSAncXNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9y PXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5MiB8ICAgICAgICAgdWludDE2X3QgcXNpemVf cGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQu ICovCiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NTA6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUg b3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0Mzcx IHwgZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAnZW5xdWV1ZV9tbGR0c19vbmVfb3AnOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODI6MjE6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQz ODIgfCAgICAgICAgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzODM6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzODMgfCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMu cl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mzg0IHwgICAgICAg ICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NToyMzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogNDM4NSB8ICAgICAgICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZz ZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDM4NjoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDM4NiB8ICAgICAgICAgb3V0X29m ZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg4OjI5OiBl cnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mICd2cmIyX2Zjd19tbGR0c19maWxsJyBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlw ZXNdCiA0Mzg4IHwgICAgICAgICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQxOTI6NDg6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0MTky IHwgdnJiMl9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3Ry dWN0IGFjY19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDM4OTozNDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAndnJiMl9kbWFfZGVz Y19tbGR0c19maWxsJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0Mzg5IHwgICAgICAgICB2cmIyX2RtYV9kZXNjX21s ZHRzX2ZpbGwob3AsICZkZXNjLT5yZXEsIGlucHV0X3EsIGlucHV0X3IsIG91dHB1dCwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjEzOjUzOiBub3RlOiBleHBlY3RlZCAnc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqJwogNDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ0MDE6MjQ6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFyZWQgaW5z aWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRl ZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NDAxIHwgICAgICAgICAgICAgICAg IHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9lbnF1ZXVlX21sZHRzJzoK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE1OjYwOiBlcnJvcjogcGFz c2luZyBhcmd1bWVudCAxIG9mICd2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQnIGZyb20gaW5j b21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBl c10KIDQ0MTUgfCAgICAgICAgICAgICAgICAgYXNfb25lX29wID0gdnJiMl9jaGVja19tbGRfcl9j b25zdHJhaW50KG9wc1tpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyNjg6NTY6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w IConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICon CiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDQxNjo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wJwogNDQxNiB8ICAgICAgICAgICAgICAgICBkZXNjc19pbl9vcCA9 IGFzX29uZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI2OjU4OiBlcnJvcjogcGFzc2luZyBhcmd1 bWVudCAyIG9mICdlbnF1ZXVlX21sZHRzX29uZV9vcCcgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRl ciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyNiB8ICAgICAg ICAgICAgICAgICAgICAgICAgIHJldCA9IGVucXVldWVfbWxkdHNfb25lX29wKHEsIG9wc1tpXSwg ZW5xdWV1ZWRfZGVzY3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzcxOjcwOiBub3RlOiBleHBlY3RlZCAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJyBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJwogNDM3MSB8 IGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQyODo2MDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBv ZiAnZW5xdWV1ZV9tbGR0c19zcGxpdF9vcCcgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBl IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyOCB8ICAgICAgICAgICAg ICAgICAgICAgICAgIHJldCA9IGVucXVldWVfbWxkdHNfc3BsaXRfb3AocSwgb3BzW2ldLCBlbnF1 ZXVlZF9kZXNjcyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyODk6NzI6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0Mjg5 IHwgZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjQ1OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNp YmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQog NDQ1NSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICdkZXF1ZXVlX21sZHRzX29uZV9vcCc6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ5OToxMTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDQ5 OSB8ICAgICAgICAgb3AtPnN0YXR1cyA9IDA7CiAgICAgIHwgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNToxOTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDUwNSB8ICAg ICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5pbnB1dF9lcnIgPDwgUlRFX0JCREVWX0RB VEFfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA2OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0NTA2IHwgICAgICAgICAgICAg ICAgIG9wLT5zdGF0dXMgfD0gcnNwLmRtYV9lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAg ICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ1MDc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQ1MDcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1 cyB8PSByc3AuZmN3X2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJwogNDUwOCB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdp bmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODo1MDogZXJy b3I6ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDQ1MDgg fCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JC REVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRf RVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTExOjE1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiA0NTExIHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAhPSAwKQogICAgICB8ICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTEzOjE1OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AnCiA0NTEzIHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9E UlZfRVJST1IpKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQ1MzE6MjQ6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NTMxIHwgICAg ICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51 bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9kZXF1 ZXVlX21sZHRzJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTQyOjU1 OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAzIG9mICdkZXF1ZXVlX21sZHRzX29uZV9vcCcgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogNDU0MiB8ICAgICAgICAgICAgICAgICByZXQgPSBkZXF1ZXVlX21sZHRzX29uZV9v cChxX2RhdGEsIHEsICZvcHNbaV0sIGRlcXVldWVkX2NicywgJmFxX2RlcXVldWVkKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKioKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjY2OiBub3RlOiBleHBlY3RlZCAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKionCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBh Y2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5efn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24gJ3ZyYl9iYmRldl9pbml0JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NTczOjE0OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXYnIGhhcyBubyBtZW1iZXIg bmFtZWQgJ2VucXVldWVfbWxkdHNfb3BzJzsgZGlkIHlvdSBtZWFuICdlbnF1ZXVlX2RlY19vcHMn PwogNDU3MyB8ICAgICAgICAgZGV2LT5lbnF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9t bGR0czsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAg ICAgICAgICAgZW5xdWV1ZV9kZWNfb3BzCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDU3NDoxNDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2JyBoYXMgbm8gbWVtYmVyIG5h bWVkICdkZXF1ZXVlX21sZHRzX29wcyc7IGRpZCB5b3UgbWVhbiAnZGVxdWV1ZV9kZWNfb3BzJz8K IDQ1NzQgfCAgICAgICAgIGRldi0+ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVldWVfbWxk dHM7CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgIGRlcXVldWVfZGVjX29wcwpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwpbMTQxNi8xODg1XSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgZHJpdmVycy9saWJ0bXBf cnRlX2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWMuYQpbMTQxNy8xODg1XSBMaW5raW5nIHRhcmdldCBk cml2ZXJzL2xpYnJ0ZV9ldmVudF9vcGRsLnNvLjIzLjIKWzE0MTgvMTg4NV0gR2VuZXJhdGluZyBk cml2ZXJzL3J0ZV9jcnlwdG9fc2NoZWR1bGVyLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5k ICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMTQxOS8xODg1XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2V2ZW50X3N3LmEucC9ldmVudF9zd19zd19l dmRldl9zZWxmdGVzdC5jLm8KWzE0MjAvMTg4NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9iYXNlYmFuZF9sYTEyeHguYS5wL2Jhc2ViYW5kX2xhMTJ4eF9iYmRldl9sYTEy eHguYy5vClsxNDIxLzE4ODVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfZnBnYV9sdGVfZmVjLmEucC9iYXNlYmFuZF9mcGdhX2x0ZV9mZWNfZnBnYV9sdGVf ZmVjLmMubwpbMTQyMi8xODg1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRl X2Jhc2ViYW5kX251bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZfbnVsbC5jLm8KWzE0MjMvMTg4 NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5w L2Jhc2ViYW5kX2FjY19ydGVfYWNjMTAwX3BtZC5jLm8KWzE0MjQvMTg4NV0gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF90dXJib19zdy5hLnAvYmFzZWJhbmRf dHVyYm9fc3dfYmJkZXZfdHVyYm9fc29mdHdhcmUuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoK CgoqQnVpbGQgRmFpbGVkICMzOgpPUzogRnJlZUJTRDEzLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1ic2RhcHAtY2xhbmcKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEu cC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIApjbGFuZyAtSWRyaXZlcnMvbGlidG1wX3J0 ZV9iYXNlYmFuZF9hY2MuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2Jhc2Vi YW5kL2FjYyAtSS4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjIC1JbGliL2JiZGV2IC1JLi4vbGliL2Ji ZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4v bGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9mcmVlYnNkL2luY2x1ZGUgLUkuLi9saWIvZWFsL2Zy ZWVic2QvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNs dWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9s aWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xp Yi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAt SS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1J Li4vbGliL3JpbmcgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9k cml2ZXJzL2J1cy9wY2kvYnNkIC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLWZjb2xvci1kaWFnbm9z dGljcyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAt V2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVk IC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5n LWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xk LXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0 LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tl ZC1tZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1E X19CU0RfVklTSUJMRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQ SSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPXBtZC5iYi5h Y2MgLURSVEVfQU5OT1RBVEVfTE9DS1MgLVd0aHJlYWQtc2FmZXR5IC1NRCAtTVEgZHJpdmVycy9s aWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAt TUYgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92 cmJfcG1kLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2Vi YW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwMzc6Mjk6IGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBk aWQgeW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogICAgICAgIGVsc2UgaWYgKGNvbmYtPm9w X3R5cGUgPT0gIFJURV9CQkRFVl9PUF9NTERUUykKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDo4NTg6Mjog bm90ZTogJ1JURV9CQkRFVl9PUF9GRlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZf T1BfRkZULCAgLyoqPCBGRlQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MTA5NToyNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIg J1JURV9CQkRFVl9PUF9NTERUUyc7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/CiAg ICAgICAgfSBlbHNlIGlmIChvcF90eXBlID09IFJURV9CQkRFVl9PUF9NTERUUykgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2JiZGV2X29w Lmg6ODU4OjI6IG5vdGU6ICdSVEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAgICAgICAg UlRFX0JCREVWX09QX0ZGVCwgIC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6MTM6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRp b24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51 bV9sYXllcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5eCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBleHBhbmRlZCBmcm9tIG1h Y3JvICdydGVfYmJkZXZfbG9nJwogICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMDk2OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3BfbWxkdHMgPSAoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKSBvcDsKICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5OToz ODogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0 cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5eCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3Jv ICdydGVfYmJkZXZfbG9nJwogICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMDk2OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJwogICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3Bf bWxkdHMgPSAoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKSBvcDsKICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMDoxMzog ZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5y X3JlcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8g J3J0ZV9iYmRldl9sb2cnCiAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjEwOTY6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcF9t bGR0cyA9IChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICopIG9wOwogICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjEzOiBl cnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLmNf cmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5+XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTog bm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2JiZGV2X2xvZycKICAgICAgICAgICAgICAg ICMjX19WQV9BUkdTX18pCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NjoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wX21sZHRzID0gKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKikgb3A7CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjExMDE6MzY6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2Yg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+ fn5+fn5+fl4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGV4 cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9iYmRldl9sb2cnCiAgICAgICAgICAgICAgICAjI19fVkFf QVJHU19fKQogICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjEwOTY6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcF9tbGR0cyA9IChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICopIG9w OwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoxMzMyOjU6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVf QkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04nOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRF Vl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTic/CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OIHwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRf Q09NUFJFU1NJT04KLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjE4MjoyOiBub3RlOiAnUlRF X0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJyBkZWNsYXJlZCBoZXJlCiAgICAgICAg UlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OID0gKDFVTEwgPDwgMTQpLAogICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY2OjEyOiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX09QX01MRFRTJzsgZGlk IHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KICAgICAgICAgICAgICAgICAgICAgICAgLnR5 cGUgICA9IFJURV9CQkRFVl9PUF9NTERUUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6ODU4OjI6IG5vdGU6 ICdSVEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX09QX0ZG VCwgIC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjEzNjk6NzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9C QkRFVl9NTERUU19SRVAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9CQkRFVl9NTERUU19SRVAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxNDAzOjIzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVW X09QX01MRFRTJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KICAgICAgICBkZXZf aW5mby0+bnVtX3F1ZXVlc1tSVEVfQkJERVZfT1BfTUxEVFNdID0gZC0+YWNjX2NvbmYucV9tbGQu bnVtX2Fxc19wZXJfZ3JvdXBzICoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZU Ci4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDo4NTg6Mjogbm90ZTogJ1JURV9CQkRFVl9PUF9G RlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfT1BfRkZULCAgLyoqPCBGRlQgKi8K ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTQxMDoyNzog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9PUF9NTERUUyc7 IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/CiAgICAgICAgZGV2X2luZm8tPnF1ZXVl X3ByaW9yaXR5W1JURV9CQkRFVl9PUF9NTERUU10gPSBkLT5hY2NfY29uZi5xX21sZC5udW1fcWdy b3VwczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vbGli L2JiZGV2L3J0ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcgZGVj bGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxNDEyOjM1OiBlcnJvcjog dXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX09QX01MRFRTJzsgZGlkIHlv dSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KICAgICAgICBmb3IgKGkgPSBSVEVfQkJERVZfT1Bf Tk9ORTsgaSA8PSBSVEVfQkJERVZfT1BfTUxEVFM7IGkrKykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2xpYi9iYmRldi9ydGVf YmJkZXZfb3AuaDo4NTg6Mjogbm90ZTogJ1JURV9CQkRFVl9PUF9GRlQnIGRlY2xhcmVkIGhlcmUK ICAgICAgICBSVEVfQkJERVZfT1BfRkZULCAgLyoqPCBGRlQgKi8KICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTk3Mjo0NjogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTic7 IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJz8KICAg ICAgICB9IGVsc2UgaWYgKGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsIFJURV9CQkRF Vl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTikpIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4uL2xpYi9iYmRldi9ydGVf YmJkZXZfb3AuaDoxODI6Mjogbm90ZTogJ1JURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVT U0lPTicgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01Q UkVTU0lPTiA9ICgxVUxMIDw8IDE0KSwKICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MzM3Mzo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVO VF9FUlJPUic/CiAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8 PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VS Uk9SCi4uL2xpYi9iYmRldi9ydGVfYmJkZXYuaDo4MzE6Mjogbm90ZTogJ1JURV9CQkRFVl9FVkVO VF9FUlJPUicgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUiwgIC8q KjwgZXJyb3IgaW50ZXJydXB0IGV2ZW50ICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjM0MjU6MzU6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZf RVZFTlRfRVJST1InPwogICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9saWIvYmJkZXYvcnRlX2JiZGV2 Lmg6ODMxOjI6IG5vdGU6ICdSVEVfQkJERVZfRVZFTlRfRVJST1InIGRlY2xhcmVkIGhlcmUKICAg ICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IsICAvKio8IGVycm9yIGludGVycnVwdCBldmVudCAq LwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjQ0 OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX0VOR0lORV9F UlJPUic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KICAgICAgICAgICAg ICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VO R0lORV9FUlJPUikgOiAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRf RVJST1IKLi4vbGliL2JiZGV2L3J0ZV9iYmRldi5oOjgzMToyOiBub3RlOiAnUlRFX0JCREVWX0VW RU5UX0VSUk9SJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SLCAg LyoqPCBlcnJvciBpbnRlcnJ1cHQgZXZlbnQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU0MDozNTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRF Vl9FVkVOVF9FUlJPUic/CiAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwg UlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2xpYi9iYmRldi9ydGVfYmJk ZXYuaDo4MzE6Mjogbm90ZTogJ1JURV9CQkRFVl9FVkVOVF9FUlJPUicgZGVjbGFyZWQgaGVyZQog ICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUiwgIC8qKjwgZXJyb3IgaW50ZXJydXB0IGV2ZW50 ICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6 MzU6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfRU5HSU5F X0VSUk9SJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogICAgICAgIG9w LT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9F VkVOVF9FUlJPUgouLi9saWIvYmJkZXYvcnRlX2JiZGV2Lmg6ODMxOjI6IG5vdGU6ICdSVEVfQkJE RVZfRVZFTlRfRVJST1InIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJS T1IsICAvKio8IGVycm9yIGludGVycnVwdCBldmVudCAqLwogICAgICAgIF4KZmF0YWwgZXJyb3I6 IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoy MCBlcnJvcnMgZ2VuZXJhdGVkLgpbMTQxMi8xODg1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX2V2ZW50X3N3LmEucC9ldmVudF9zd19zd19ldmRldl9zY2hlZHVsZXIuYy5v ClsxNDEzLzE4ODVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJh bmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4LmMubwpbMTQxNC8xODg1 XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX25ldF9peGdiZS5zeW1fY2hrIHdpdGggYSBjdXN0b20g Y29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzE0MTUvMTg4NV0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhXzVnbnJf ZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjX3J0ZV9mcGdhXzVnbnJfZmVjLmMubwpbMTQx Ni8xODg1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2Zw Z2FfbHRlX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV9sdGVfZmVjX2ZwZ2FfbHRlX2ZlYy5jLm8KWzE0 MTcvMTg4NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9u dWxsLmEucC9iYXNlYmFuZF9udWxsX2JiZGV2X251bGwuYy5vClsxNDE4LzE4ODVdIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVyYm9fc3cuYS5wL2Jhc2Vi YW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3YXJlLmMubwpbMTQxOS8xODg1XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRf YWNjX3J0ZV9hY2MxMDBfcG1kLmMubwpbMTQyMC8xODg1XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRl X2NvbW1vbl9zZmNfZWZ4LnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5 IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxk IEZhaWxlZCAjNDoKT1M6IEZyZWVCU0QxMy02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBw LWdjYytzaGFyZWQKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9i YXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYmFz ZWJhbmRfYWNjLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFuZC9h Y2MgLUkuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRldiAt SS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9l YWwvaW5jbHVkZSAtSWxpYi9lYWwvZnJlZWJzZC9pbmNsdWRlIC1JLi4vbGliL2VhbC9mcmVlYnNk L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAt SWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2Vh bCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0 cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9s aWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xp Yi9yaW5nIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVy cy9idXMvcGNpL2JzZCAtSWxpYi9wY2kgLUkuLi9saWIvcGNpIC1mZGlhZ25vc3RpY3MtY29sb3I9 YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJh IC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0 ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3Np bmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdv bGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJp Y3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFj a2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5p dGlhbGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1EX0dOVV9TT1VSQ0UgLURfX0JTRF9W SVNJQkxFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxM T1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRf TE9HVFlQRT1wbWQuYmIuYWNjIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2Fj Yy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRl X2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMuby5kIC1vIGRyaXZl cnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5j Lm8gLWMgLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYwouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX3F1ZXVlX3NldHVwJzoK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjM2OiBlcnJvcjogJ1JU RV9CQkRFVl9PUF9NTERUUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogMTAzNyB8ICAgICAgICAgZWxzZSBp ZiAoY29uZi0+b3BfdHlwZSA9PSAgUlRFX0JCREVWX09QX01MRFRTKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzozNjogbm90ZTogZWFjaCB1bmRlY2xh cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0 IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVu Y3Rpb24gJ3ZyYl9wcmludF9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTA5NTozMTogZXJyb3I6ICdSVEVfQkJERVZfT1BfTUxEVFMnIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8K IDEwOTUgfCAgICAgICAgIH0gZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVfQkJERVZfT1BfTUxEVFMp IHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZU CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjIyOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NDE6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5t bGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfYmJk ZXZfbG9nJwogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6MTA5OTo2NjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogMTA5OSB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21sZHRzLT5tbGR0cy5udW1fbGF5 ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5o OjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAx OCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEw MDo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wJwogMTEwMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Bf bWxkdHMtPm1sZHRzLnJfcmVwLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9iYmRldl9sb2cnCiAgIDE4IHwgICAgICAg ICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjQxOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiAxMTAxIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxk dHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3Zy Yl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2JiZGV2X2xv ZycKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjExMDE6NjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDExMDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9wX21sZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9iYmRldl9sb2cnCiAgIDE4IHwgICAgICAg ICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g J3ZyYl9kZXZfaW5mb19nZXQnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjEzMzI6MzM6IGVycm9yOiAnUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OJyB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRF X0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJz8KIDEzMzIgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTiB8 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6MzU6IGVycm9yOiAnUlRFX0JCREVWX09QX01MRFRT JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAn UlRFX0JCREVWX09QX0ZGVCc/CiAxMzY2IHwgICAgICAgICAgICAgICAgICAgICAgICAgLnR5cGUg ICA9IFJURV9CQkRFVl9PUF9NTERUUywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzoxMzY5OjQ5OiBlcnJvcjogJ1JURV9CQkRFVl9NTERUU19SRVAnIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogMTM2OSB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9NTERUU19SRVAsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBm dW5jdGlvbiAndnJiMl9mY3dfbGRfZmlsbCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6MTk3Mjo1MzogZXJyb3I6ICdSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJF U1NJT04nIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBt ZWFuICdSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04nPwogMTk3MiB8ICAgICAg ICAgfSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLCBSVEVfQkJERVZf TERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9kZXF1 ZXVlX2VuY19vbmVfb3BfY2InOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjMzNzM6NTA6IGVycm9yOiAnUlRFX0JCREVWX0VOR0lORV9FUlJPUicgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9F UlJPUic/CiAzMzczIHwgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2RlcXVldWVfbGRwY19lbmNfb25lX29wX3RiJzoKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1OjQyOiBlcnJvcjogJ1JURV9C QkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogMzQyNSB8ICAgICAgICAg b3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfZW5jX29uZV9vcF90Yic6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQ5Mzo1ODogZXJyb3I6ICdSVEVfQkJE RVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7 IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDM0OTMgfCAgICAgICAgICAg ICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZf RU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfY2InOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6NDI6IGVycm9yOiAnUlRFX0JCREVWX0VO R0lORV9FUlJPUicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAzNTQwIHwgICAgICAgICBvcC0+c3Rh dHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6IEluIGZ1bmN0aW9uICd2cmJfZGVxdWV1ZV9sZHBjX2RlY19vbmVfb3BfY2InOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6NDI6IGVycm9yOiAnUlRFX0JCREVW X0VOR0lORV9FUlJPUicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAzNTk1IHwgICAgICAgICBvcC0+ c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZGVxdWV1ZV9kZWNfb25lX29wX3RiJzoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNjc3OjU4OiBlcnJvcjogJ1JURV9CQkRFVl9F TkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogMzY3NyB8ICAgICAgICAgICAgICAg ICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiAndnJiMl9kbWFfZGVzY19mZnRfZmlsbCc6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo1MTogZXJyb3I6ICdSVEVfQkJERVZfRkZUX0RFV0lO RE9XSU5HJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiAnUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcnPwogMzk5MCB8ICAgICAgICAgYm9vbCB3aW5f ZW4gPSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywgUlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lO Ryk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRkZUX1dJTkRPV0lORwou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6MjU6IGVycm9yOiAnUlRF X0JCREVWX01BWF9DUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4gJ1JURV9CQkRFVl9NQVhfQ1NfMic/CiA0MDE2IHwgICAgICAgICBmb3IgKGkg PSAwOyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfTUFYX0NTXzIKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24gJ3ZyYl9lbnF1ZXVlX2ZmdF9vbmVfb3AnOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6MjI6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9vcF9m ZnQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2Rld2luZG93aW5nX2lucHV0JwogNDA0OSB8ICAgICAg ICAgd2luID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDUz OjI5OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfb3BfZmZ0JyBoYXMgbm8gbWVtYmVyIG5hbWVk ICdkZXdpbmRvd2luZ19pbnB1dCcKIDQwNTMgfCAgICAgICAgIHdpbl9vZmZzZXQgPSBvcC0+ZmZ0 LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biAndnJiX2RlcXVldWVfZmZ0X29uZV9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDE0Mjo0MjogZXJyb3I6ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVW X0VWRU5UX0VSUk9SJz8KIDQxNDIgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9o dW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJS T1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6Mjg6IGVycm9yOiAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdp bGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRp b24gWy1XZXJyb3JdCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJfZmN3X21sZHRzX2ZpbGwnOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6MjI6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQx OTQgfCAgICAgICAgIGZjdy0+bnJiID0gb3AtPm1sZHRzLm51bV9yYnM7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MTk1OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AnCiA0MTk1IHwgICAgICAgICBmY3ctPk5MYXllcnMgPSBvcC0+bWxkdHMu bnVtX2xheWVycyAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NjoyNTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDE5NiB8 ICAgICAgICAgZmN3LT5RbW9kMCA9IChvcC0+bWxkdHMucV9tWzBdID4+IDEpIC0gMTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAn c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQxOTcgfCAgICAgICAgIGZjdy0+UW1vZDEgPSAo b3AtPm1sZHRzLnFfbVsxXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk4OjI1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiA0MTk4IHwgICAgICAgICBmY3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21bMl0gPj4gMSkg LSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDE5OSB8ICAgICAgICAgZmN3 LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MDE6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQyMDEgfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9 PSAyKSB7CiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMDU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMDUgfCAgICAgICAgIGlmIChvcC0+bWxk dHMubnVtX2xheWVycyA9PSAzKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjA3IHwgICAgICAg ICBmY3ctPlJyZXAgPSBvcC0+bWxkdHMucl9yZXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwODoyMzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogNDIwOCB8ICAgICAgICAgZmN3LT5DcmVwID0gb3AtPm1sZHRzLmNfcmVwOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIxMzozMzogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJyBkZWNsYXJlZCBp bnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMg ZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyMTMgfCB2cmIyX2RtYV9kZXNj X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJfZG1hX2Rlc2NfbWxk dHNfZmlsbCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNjoxNTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wJwogNDIyNiB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAgIHwg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy Mjc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQyMjcgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLnJfcmVwID0g NTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMjg6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMjggfCAgICAgICAgIGlmIChvcC0+bWxk dHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjk6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMjkgfCAgICAgICAg ICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICAgICB8ICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMDoxNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogNDIzMCB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAg fCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIzMToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogNDIzMSB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xh eWVycyA9IDQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMyOjI3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjMyIHwgICAgICAgICBmb3Ig KGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIzMzozNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogNDIzMyB8ICAgICAgICAgICAgICAgICBvdXRzaXplX3Blcl9yZSAr PSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDoyMDog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wJwogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVf QkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjM4 OiBlcnJvcjogJ1JURV9CQkRFVl9TQ1BFUlJCJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0NSQ19FUlJPUic/CiA0MjM0IHwg ICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICog KG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIzNDo2MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzNCB8ICAgICAgICAgc2NfbnVt ID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19y ZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51 bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MzU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQyMzUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMg KiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzY6MzM6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzYgfCAg ICAgICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICog c2NfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM3OjMzOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjM3IHwg ICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAq IHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIxOjE4OiBlcnJvcjogdmFyaWFibGUg J3NjX2ZhY3Rvcl9wZXJfcnJlcCcgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0 LXNldC12YXJpYWJsZV0KIDQyMjEgfCAgICAgICAgIHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJl cFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMjA6MTg6IGVycm9yOiB2YXJpYWJsZSAncnNpemVfcGVyX3JlJyBzZXQg YnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDIyMCB8ICAg ICAgICAgdWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYs IDQyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTk6MTg6IGVycm9yOiB2YXJpYWJsZSAncXNpemVf cGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxl XQogNDIxOSB8ICAgICAgICAgdWludDE2X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpF XSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICovCiAgICAgIHwgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog QXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6 MzY6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9jb25z dHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJfY2hlY2tfbWxkX3Jf Y29uc3RyYWludCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3NTox NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJwogNDI3NSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5jX3JlcCA9PSAwKQogICAg ICB8ICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mjc4IHwgICAgICAgICBsYXllcl9pZHggPSBSVEVf TUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29t bW9uLmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIDYx NSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyNzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCcKIDQyNzggfCAgICAgICAgIGxheWVyX2lkeCA9IFJURV9NSU4ob3At Pm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2 MTU6MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgNjE1IHwgICAg ICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wJwogNDI4MCB8ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlOKG9w LT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgNjE1IHwgICAgICAgICAg ICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDozMDogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogNDI4MCB8ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwg VlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MzQ6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAo YSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4NDoxOTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwog NDI4NCB8ICAgICAgICAgcmV0dXJuIChvcC0+bWxkdHMubnVtX3JicyA8PSBtYXhfcmJbbGF5ZXJf aWR4XVtycmVwX2lkeF0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5OjUyOiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNp YmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQog NDI4OSB8IGVucXVldWVfbWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICdlbnF1ZXVlX21sZHRzX3Nw bGl0X29wJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA0OjIxOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AnCiA0MzA0IHwgICAgICAgICBpbnB1dF9xID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5kYXRh OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzA1OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzA1IHwgICAgICAgICBpbnB1dF9yID0g b3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNjoyMDogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMw NiB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz MDc6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQzMDcgfCAgICAgICAgIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlf aW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDg6MjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMDggfCAgICAg ICAgIG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMwOToyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogNDMwOSB8ICAgICAgICAgbnVtX3N5bXMgPSBvcC0+bWxkdHMuY19y ZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxMToyOTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBv ZiAndnJiMl9mY3dfbWxkdHNfZmlsbCcgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFst V2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDMxMSB8ICAgICAgICAgdnJiMl9m Y3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4OiBub3RlOiBleHBlY3RlZCAn c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJwogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTU6MTU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQz MTUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICB8ICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE2OjE5OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiA0MzE2IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzE3OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AnCiA0MzE3IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXll cnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzE4OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzE4IHwgICAgICAgICAgICAgICAgIG9w LT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTk6MTU6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMTkg fCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAgIHwgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6MTk6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQzMjAgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSA0Owog ICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMyMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMyMiB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8 IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKyspCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjM6Mzc6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQzMjMgfCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRz LnFfbVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MjA6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQz MjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVS UkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6Mzg6IGVycm9y OiAnUlRFX0JCREVWX1NDUEVSUkInIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfQ1JDX0VSUk9SJz8KIDQzMjQgfCAgICAgICAg IHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVw IGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDMyNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMyNSB8ICAgICAgICAgcl9udW0gPSBv cC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwog ICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMyNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMyNSB8ICAgICAgICAgcl9udW0gPSBvcC0+bWxk dHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNjozMzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w JwogNDMyNiB8ICAgICAgICAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5 ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjc6MzM6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCcKIDQzMjcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xh eWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTg6IGVycm9y OiB2YXJpYWJsZSAnc2NfZmFjdG9yX3Blcl9ycmVwJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9y PXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5NCB8ICAgICAgICAgdWludDE2X3Qgc2NfZmFj dG9yX3Blcl9ycmVwW1ZSQjJfTUxEX1JSRVBfU0laRV0gPSB7MTIsIDYsIDQsIDMsIDAsIDJ9Owog ICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MzoxODogZXJyb3I6IHZhcmlhYmxlICdyc2l6ZV9w ZXJfcmUnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVd CiA0MjkzIHwgICAgICAgICB1aW50MTZfdCByc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVd ID0gezE0LCAyNiwgNDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MjoxODogZXJyb3I6IHZhcmlh YmxlICdxc2l6ZV9wZXJfcmUnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1z ZXQtdmFyaWFibGVdCiA0MjkyIHwgICAgICAgICB1aW50MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9N TERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExheWVyIDIgdG8gNC4gKi8KICAgICAgfCAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDM3MTo1MDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJyBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQzNzEgfCBlbnF1ZXVlX21s ZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uICdlbnF1ZXVlX21sZHRzX29uZV9vcCc6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MjoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDM4MiB8ICAgICAgICAg aW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MzoyMTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wJwogNDM4MyB8ICAgICAgICAgaW5wdXRfciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzODQ6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzODQgfCAgICAgICAgIG91dHB1dCA9IG9w LT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjIzOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mzg1IHwg ICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0Mzg2OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mzg2IHwgICAgICAgICBvdXRfb2Zmc2V0ID0gb3AtPm1s ZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODg6Mjk6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2YgJ3ZyYjJfZmN3X21sZHRzX2ZpbGwnIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODggfCAg ICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODogbm90 ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicKIDQxOTIgfCB2cmIyX2Zjd19t bGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19t bGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg5OjM0 OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mICd2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwn IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9p bnRlci10eXBlc10KIDQzODkgfCAgICAgICAgIHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChvcCwg JmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwgb3V0cHV0LAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMTM6NTM6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICon IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0 MjEzIHwgdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag Km9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3Ag bGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQwMToyNDogZXJy b3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVy IGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0MDEgfCAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2VucXVldWVfbWxkdHMnOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTU6NjA6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50 IDEgb2YgJ3ZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludCcgZnJvbSBpbmNvbXBhdGlibGUgcG9p bnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQxNSB8ICAg ICAgICAgICAgICAgICBhc19vbmVfb3AgPSB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQob3Bz W2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODo1 Njogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicgYnV0IGFyZ3Vt ZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicKIDQyNjggfCB2cmIy X2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE2OjUzOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AnCiA0NDE2IHwgICAgICAgICAgICAgICAgIGRlc2NzX2luX29wID0gYXNfb25lX29wID8g MSA6IG9wc1tpXS0+bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQ0MjY6NTg6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2YgJ2Vu cXVldWVfbWxkdHNfb25lX29wJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI2IHwgICAgICAgICAgICAgICAgICAg ICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19vbmVfb3AocSwgb3BzW2ldLCBlbnF1ZXVlZF9kZXNj cyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NzA6IG5vdGU6 IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1dCBhcmd1bWVudCBpcyBv ZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0MzcxIHwgZW5xdWV1ZV9tbGR0 c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NDI4OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mICdlbnF1ZXVlX21s ZHRzX3NwbGl0X29wJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI4IHwgICAgICAgICAgICAgICAgICAgICAgICAg cmV0ID0gZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo3Mjogbm90 ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicKIDQyODkgfCBlbnF1ZXVlX21s ZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0NTU6NDU6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NDU1IHwgICAgICAg ICAgICAgICAgIHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KipyZWZfb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24gJ2RlcXVldWVfbWxkdHNfb25lX29wJzoKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDk5OjExOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0NDk5IHwgICAgICAgICBv cC0+c3RhdHVzID0gMDsKICAgICAgfCAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NTA1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0NTA1IHwgICAgICAgICAgICAgICAg IG9wLT5zdGF0dXMgfD0gcnNwLmlucHV0X2VyciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsKICAg ICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ1MDY6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQ1MDYgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1 cyB8PSByc3AuZG1hX2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNzox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJwogNDUwNyB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5mY3df ZXJyIDw8IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjE5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0 NTA4IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjUwOiBlcnJvcjogJ1JURV9CQkRF Vl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogNDUwOCB8ICAgICAgICAgICAg ICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTE6MTU6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQ1MTEgfCAg ICAgICAgIGlmIChvcC0+c3RhdHVzICE9IDApCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTM6MTU6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQ1MTMg fCAgICAgICAgIGlmIChvcC0+c3RhdHVzICYgKDEgPDwgUlRFX0JCREVWX0RSVl9FUlJPUikpCiAg ICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDUzMToyNDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJyBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVm aW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ1MzEgfCAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2RlcXVldWVfbWxkdHMnOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NDI6NTU6IGVycm9yOiBwYXNz aW5nIGFyZ3VtZW50IDMgb2YgJ2RlcXVldWVfbWxkdHNfb25lX29wJyBmcm9tIGluY29tcGF0aWJs ZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NTQy IHwgICAgICAgICAgICAgICAgIHJldCA9IGRlcXVldWVfbWxkdHNfb25lX29wKHFfZGF0YSwgcSwg Jm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAmYXFfZGVxdWV1ZWQpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQ0NTU6NjY6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICoqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqKicKIDQ0NTUgfCAgICAgICAgICAgICAgICAgc3RydWN0IGFjY19xdWV1ZSAqcSwg c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKnJlZl9vcCwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJi X2JiZGV2X2luaXQnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NzM6 MTQ6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldicgaGFzIG5vIG1lbWJlciBuYW1lZCAnZW5xdWV1 ZV9tbGR0c19vcHMnOyBkaWQgeW91IG1lYW4gJ2VucXVldWVfZGVjX29wcyc/CiA0NTczIHwgICAg ICAgICBkZXYtPmVucXVldWVfbWxkdHNfb3BzID0gdnJiMl9lbnF1ZXVlX21sZHRzOwogICAgICB8 ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICBlbnF1 ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTc0OjE0 OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXYnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2RlcXVldWVf bWxkdHNfb3BzJzsgZGlkIHlvdSBtZWFuICdkZXF1ZXVlX2RlY19vcHMnPwogNDU3NCB8ICAgICAg ICAgZGV2LT5kZXF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZGVxdWV1ZV9tbGR0czsKICAgICAgfCAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgZGVxdWV1 ZV9kZWNfb3BzCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsxNDQ5 LzE3OTBdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBn YV81Z25yX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV81Z25yX2ZlY19ydGVfZnBnYV81Z25yX2ZlYy5j Lm8KWzE0NTAvMTc5MF0gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9iYXNlYmFuZF9sYTEyeHgucG1k LmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kClsxNDUxLzE3OTBdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBnYV9sdGVfZmVjLmEucC9iYXNlYmFuZF9mcGdh X2x0ZV9mZWNfZnBnYV9sdGVfZmVjLmMubwpbMTQ1Mi8xNzkwXSBHZW5lcmF0aW5nIGRyaXZlcnMv cnRlX2V2ZW50X3N3LnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbMTQ1My8xNzkwXSBHZW5l cmF0aW5nIGRyaXZlcnMvcnRlX2NyeXB0b19zY2hlZHVsZXIuc3ltX2NoayB3aXRoIGEgY3VzdG9t IGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpClsxNDU0LzE3OTBd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfbnVsbC5hLnAv YmFzZWJhbmRfbnVsbF9iYmRldl9udWxsLmMubwpbMTQ1NS8xNzkwXSBDb21waWxpbmcgQyBvYmpl Y3QgYXBwL2RwZGstZHVtcGNhcC5wL2R1bXBjYXBfbWFpbi5jLm8KWzE0NTYvMTc5MF0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5k X2FjY19ydGVfYWNjMTAwX3BtZC5jLm8KWzE0NTcvMTc5MF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF90dXJib19zdy5hLnAvYmFzZWJhbmRfdHVyYm9fc3df YmJkZXZfdHVyYm9fc29mdHdhcmUuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQg RmFpbGVkICM1OgpPUzogRnJlZUJTRDEzLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAt Z2NjK2RlYnVnCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFz ZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2Vi YW5kX2FjYy5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYmFzZWJhbmQvYWNj IC1JLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9saWIvYmJkZXYgLUku IC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFs L2luY2x1ZGUgLUlsaWIvZWFsL2ZyZWVic2QvaW5jbHVkZSAtSS4uL2xpYi9lYWwvZnJlZWJzZC9p bmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUls aWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwg LUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJp Y3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGli L21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIv cmluZyAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMv YnVzL3BjaS9ic2QgLUlsaWIvcGNpIC1JLi4vbGliL3BjaSAtZmRpYWdub3N0aWNzLWNvbG9yPWFs d2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAt V2Vycm9yIC1PMiAtZyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNh dGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNz aW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1X b2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3Ry aWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBh Y2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWlu aXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1EX19CU0Rf VklTSUJMRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFM TE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxU X0xPR1RZUEU9cG1kLmJiLmFjYyAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9h Y2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0 ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8uZCAtbyBkcml2 ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQu Yy5vIC1jIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmMKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9xdWV1ZV9zZXR1cCc6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzozNjogZXJyb3I6ICdS VEVfQkJERVZfT1BfTUxEVFMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KIDEwMzcgfCAgICAgICAgIGVsc2Ug aWYgKGNvbmYtPm9wX3R5cGUgPT0gIFJURV9CQkRFVl9PUF9NTERUUykKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwMzc6MzY6IG5vdGU6IGVhY2ggdW5kZWNs YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBp dCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uICd2cmJfcHJpbnRfb3AnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjEwOTU6MzE6IGVycm9yOiAnUlRFX0JCREVWX09QX01MRFRTJyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/ CiAxMDk1IHwgICAgICAgICB9IGVsc2UgaWYgKG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX01MRFRT KSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZG VApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoyMjoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjQxOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AnCiAxMDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+ bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2Ji ZGV2X2xvZycKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjEwOTk6NjY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAn c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xh eWVycywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQu aDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2JiZGV2X2xvZycKICAg MTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEx MDA6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDExMDAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w X21sZHRzLT5tbGR0cy5yX3JlcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAxOCB8ICAgICAg ICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMTo0MTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogMTEwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1s ZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92 cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9iYmRldl9s b2cnCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMTAxOjY0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AnCiAxMTAxIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAxOCB8ICAgICAg ICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9u ICd2cmJfZGV2X2luZm9fZ2V0JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMzMyOjMzOiBlcnJvcjogJ1JURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTicg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JU RV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTic/CiAxMzMyIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04g fAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY2OjM1OiBlcnJvcjogJ1JURV9CQkRFVl9PUF9NTERU UycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g J1JURV9CQkRFVl9PUF9GRlQnPwogMTM2NiB8ICAgICAgICAgICAgICAgICAgICAgICAgIC50eXBl ICAgPSBSVEVfQkJERVZfT1BfTUxEVFMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MTM2OTo0OTogZXJyb3I6ICdSVEVfQkJERVZfTUxEVFNfUkVQJyB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDEzNjkgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUxEVFNfUkVQLAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24gJ3ZyYjJfZmN3X2xkX2ZpbGwnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjE5NzI6NTM6IGVycm9yOiAnUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBS RVNTSU9OJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJz8KIDE5NzIgfCAgICAg ICAgIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywgUlRFX0JCREVW X0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZGVx dWV1ZV9lbmNfb25lX29wX2NiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzozMzczOjUwOiBlcnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRf RVJST1InPwogMzM3MyB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykg PyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9kZXF1ZXVlX2xkcGNfZW5jX29uZV9vcF90Yic6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQyNTo0MjogZXJyb3I6ICdSVEVf QkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDM0MjUgfCAgICAgICAg IG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfdGInOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NTg6IGVycm9yOiAnUlRFX0JC REVWX0VOR0lORV9FUlJPUicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAzNDkzIHwgICAgICAgICAg ICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVW X0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZGVxdWV1ZV9kZWNfb25lX29wX2NiJzoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTQwOjQyOiBlcnJvcjogJ1JURV9CQkRFVl9F TkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogMzU0MCB8ICAgICAgICAgb3AtPnN0 YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfbGRwY19kZWNfb25lX29wX2NiJzoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjQyOiBlcnJvcjogJ1JURV9CQkRF Vl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogMzU5NSB8ICAgICAgICAgb3At PnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfZGVjX29uZV9vcF90Yic6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzY3Nzo1ODogZXJyb3I6ICdSVEVfQkJERVZf RU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRp ZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDM2NzcgfCAgICAgICAgICAgICAg ICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5H SU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogSW4gZnVuY3Rpb24gJ3ZyYjJfZG1hX2Rlc2NfZmZ0X2ZpbGwnOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM5OTA6NTE6IGVycm9yOiAnUlRFX0JCREVWX0ZGVF9ERVdJ TkRPV0lORycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4gJ1JURV9CQkRFVl9GRlRfV0lORE9XSU5HJz8KIDM5OTAgfCAgICAgICAgIGJvb2wgd2lu X2VuID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsIFJURV9CQkRFVl9GRlRfREVXSU5ET1dJ TkcpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDE2OjI1OiBlcnJvcjogJ1JU RV9CQkRFVl9NQVhfQ1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfTUFYX0NTXzInPwogNDAxNiB8ICAgICAgICAgZm9yIChp ID0gMDsgaSA8IFJURV9CQkRFVl9NQVhfQ1M7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0JCREVWX01BWF9DU18yCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEluIGZ1bmN0aW9uICd2cmJfZW5xdWV1ZV9mZnRfb25lX29wJzoKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDQ5OjIyOiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfb3Bf ZmZ0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdkZXdpbmRvd2luZ19pbnB1dCcKIDQwNDkgfCAgICAg ICAgIHdpbiA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA1 MzoyOTogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdCcgaGFzIG5vIG1lbWJlciBuYW1l ZCAnZGV3aW5kb3dpbmdfaW5wdXQnCiA0MDUzIHwgICAgICAgICB3aW5fb2Zmc2V0ID0gb3AtPmZm dC5kZXdpbmRvd2luZ19pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24gJ3ZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3AnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQxNDI6NDI6IGVycm9yOiAnUlRFX0JCREVWX0VOR0lORV9FUlJPUicgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRF Vl9FVkVOVF9FUlJPUic/CiA0MTQyIHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVf aHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VS Uk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjI4OiBlcnJvcjogJ3N0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3 aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0 aW9uIFstV2Vycm9yXQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2Zjd19tbGR0c19maWxsJzoK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjIyOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0 MTk0IHwgICAgICAgICBmY3ctPm5yYiA9IG9wLT5tbGR0cy5udW1fcmJzOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDE5NToyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogNDE5NSB8ICAgICAgICAgZmN3LT5OTGF5ZXJzID0gb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTY6MjU6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQxOTYg fCAgICAgICAgIGZjdy0+UW1vZDAgPSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MTk3OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg J3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MTk3IHwgICAgICAgICBmY3ctPlFtb2QxID0g KG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5ODoyNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogNDE5OCB8ICAgICAgICAgZmN3LT5RbW9kMiA9IChvcC0+bWxkdHMucV9tWzJdID4+IDEp IC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTk6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQxOTkgfCAgICAgICAgIGZj dy0+UW1vZDMgPSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjAxOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AnCiA0MjAxIHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMg PT0gMikgewogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjA1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjA1IHwgICAgICAgICBpZiAob3AtPm1s ZHRzLm51bV9sYXllcnMgPT0gMykKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNzoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIwNyB8ICAgICAg ICAgZmN3LT5ScmVwID0gb3AtPm1sZHRzLnJfcmVwOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDg6MjM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQyMDggfCAgICAgICAgIGZjdy0+Q3JlcCA9IG9wLT5tbGR0cy5jX3JlcDsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMTM6MzM6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFyZWQg aW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlz IGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjEzIHwgdnJiMl9kbWFfZGVz Y19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2RtYV9kZXNjX21s ZHRzX2ZpbGwnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjY6MTU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCcKIDQyMjYgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICB8 ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjI3OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AnCiA0MjI3IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5yX3JlcCA9 IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjI4OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjI4IHwgICAgICAgICBpZiAob3AtPm1s ZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI5OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjI5IHwgICAgICAg ICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzA6MTU6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQyMzAgfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAg IHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzE6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCcKIDQyMzEgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9s YXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzMiB8ICAgICAgICAgZm9y IChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKyspCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCcKIDQyMzMgfCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUg Kz0gb3AtPm1sZHRzLnFfbVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6MjA6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCcKIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRF X0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDoz ODogZXJyb3I6ICdSVEVfQkJERVZfU0NQRVJSQicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9DUkNfRVJST1InPwogNDIzNCB8 ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAq IChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6NjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzQgfCAgICAgICAgIHNjX251 bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNf cmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MjM1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0cy5u dW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjM1OjU4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AnCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJz ICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2OjMzOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MjM2IHwg ICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAq IHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzozMzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzNyB8 ICAgICAgICAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0g KiByX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMToxODogZXJyb3I6IHZhcmlhYmxl ICdzY19mYWN0b3JfcGVyX3JyZXAnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1 dC1zZXQtdmFyaWFibGVdCiA0MjIxIHwgICAgICAgICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3Jy ZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgIHwgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjIwOjE4OiBlcnJvcjogdmFyaWFibGUgJ3JzaXplX3Blcl9yZScgc2V0 IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjAgfCAg ICAgICAgIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2 LCA0Mn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjE5OjE4OiBlcnJvcjogdmFyaWFibGUgJ3FzaXpl X3Blcl9yZScgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJs ZV0KIDQyMTkgfCAgICAgICAgIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0la RV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICB8ICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4 OjM2OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDI2OCB8IHZyYjJfY2hlY2tfbWxkX3JfY29u c3RyYWludChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCkgewogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2NoZWNrX21sZF9y X2NvbnN0cmFpbnQnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6 MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCcKIDQyNzUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMuY19yZXAgPT0gMCkKICAg ICAgfCAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDI3ODozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDI3OCB8ICAgICAgICAgbGF5ZXJfaWR4ID0gUlRF X01JTihvcC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjYxNToyNTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnUlRFX01JTicKICA2 MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AnCiA0Mjc4IHwgICAgICAgICBsYXllcl9pZHggPSBSVEVfTUlOKG9w LT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 NjE1OjM0OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIDYxNSB8ICAg ICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyODA6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4ID0gUlRFX01JTihv cC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjI1 OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIDYxNSB8ICAgICAgICAg ICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MzA6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAs IFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2Yg KGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODE6NjE6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcK IDQyODEgfCAgICAgICAgIHJ0ZV9iYmRldl9sb2dfZGVidWcoIlJCICVkIGluZGV4ICVkICVkIG1h eCAlZFxuIiwgb3AtPm1sZHRzLm51bV9yYnMsIGxheWVyX2lkeCwgcnJlcF9pZHgsCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAxOCB8ICAgICAgICAgICAgICAg ICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MTo5OiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8gJ3J0ZV9iYmRldl9sb2dfZGVidWcnCiA0MjgxIHwgICAgICAgICBydGVf YmJkZXZfbG9nX2RlYnVnKCJSQiAlZCBpbmRleCAlZCAlZCBtYXggJWRcbiIsIG9wLT5tbGR0cy5u dW1fcmJzLCBsYXllcl9pZHgsIHJyZXBfaWR4LAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODQ6MTk6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQyODQgfCAgICAgICAgIHJldHVybiAob3AtPm1sZHRzLm51bV9yYnMgPD0gbWF4X3Ji W2xheWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo1MjogZXJyb3I6ICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3Qg YmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdl cnJvcl0KIDQyODkgfCBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEs IHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAnZW5xdWV1ZV9t bGR0c19zcGxpdF9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMw NDoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wJwogNDMwNCB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5w dXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMwNSB8ICAgICAgICAgaW5w dXRfciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDY6MjA6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCcKIDQzMDYgfCAgICAgICAgIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzA3OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzA3IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxk dHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjI0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzA4 IHwgICAgICAgICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMDk6MjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMDkgfCAgICAgICAgIG51bV9zeW1zID0gb3AtPm1s ZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTE6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3Vt ZW50IDEgb2YgJ3ZyYjJfZmN3X21sZHRzX2ZpbGwnIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIg dHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzMTEgfCAgICAgICAg IHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODogbm90ZTogZXhw ZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5 cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicKIDQxOTIgfCB2cmIyX2Zjd19tbGR0c19m aWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAq ZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE1OjE1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiA0MzE1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgfCAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNjox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJwogNDMxNiB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMucl9yZXAgPSA1Owog ICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMxNzoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMxNyB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5u dW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxODoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMxOCB8ICAgICAgICAgICAg ICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE5OjE1OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3An CiA0MzE5IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPiA0KQogICAgICB8ICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIw OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AnCiA0MzIwIHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJz ID0gNDsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMjI6Mjc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjIgfCAgICAgICAgIGZvciAoaSA9 IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIz OjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AnCiA0MzIzIHwgICAgICAgICAgICAgICAgIG91dHNpemVfcGVyX3JlICs9IG9w LT5tbGR0cy5xX21baV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjIwOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiA0MzI0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRF Vl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjM4 OiBlcnJvcjogJ1JURV9CQkRFVl9TQ1BFUlJCJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0NSQ19FUlJPUic/CiA0MzI0IHwg ICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAv KiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjUgfCAgICAgICAgIHJf bnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJf cmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMjU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjUgfCAgICAgICAgIHJfbnVtID0g b3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6MzM6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCcKIDQzMjYgfCAgICAgICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMu bnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3OjMz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnCiA0MzI3IHwgICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjk0OjE4 OiBlcnJvcjogdmFyaWFibGUgJ3NjX2ZhY3Rvcl9wZXJfcnJlcCcgc2V0IGJ1dCBub3QgdXNlZCBb LVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTQgfCAgICAgICAgIHVpbnQxNl90 IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAw LCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTM6MTg6IGVycm9yOiB2YXJpYWJsZSAn cnNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZh cmlhYmxlXQogNDI5MyB8ICAgICAgICAgdWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xB WV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTI6MTg6IGVycm9y OiB2YXJpYWJsZSAncXNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNl ZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5MiB8ICAgICAgICAgdWludDE2X3QgcXNpemVfcGVyX3Jl W1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICovCiAg ICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzNzE6NTA6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MzcxIHwgZW5x dWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAnZW5xdWV1ZV9tbGR0c19vbmVfb3AnOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODI6MjE6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzODIgfCAg ICAgICAgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz ODM6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQzODMgfCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1 dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mzg0IHwgICAgICAgICBvdXRw dXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NToyMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwog NDM4NSB8ICAgICAgICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM4NjoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDM4NiB8ICAgICAgICAgb3V0X29mZnNldCA9 IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg4OjI5OiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAxIG9mICd2cmIyX2Zjd19tbGR0c19maWxsJyBmcm9tIGluY29tcGF0 aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0 Mzg4IHwgICAgICAgICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6 NDg6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1dCBhcmd1 bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0MTkyIHwgdnJi Ml9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFj Y19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDM4OTozNDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAndnJiMl9kbWFfZGVzY19tbGR0 c19maWxsJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRp YmxlLXBvaW50ZXItdHlwZXNdCiA0Mzg5IHwgICAgICAgICB2cmIyX2RtYV9kZXNjX21sZHRzX2Zp bGwob3AsICZkZXNjLT5yZXEsIGlucHV0X3EsIGlucHV0X3IsIG91dHB1dCwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjEzOjUzOiBub3RlOiBleHBlY3RlZCAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAqJwogNDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog QXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MDE6 MjQ6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NDAxIHwgICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9lbnF1ZXVlX21sZHRzJzoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE1OjYwOiBlcnJvcjogcGFzc2luZyBh cmd1bWVudCAxIG9mICd2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQnIGZyb20gaW5jb21wYXRp YmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0 MTUgfCAgICAgICAgICAgICAgICAgYXNfb25lX29wID0gdnJiMl9jaGVja19tbGRfcl9jb25zdHJh aW50KG9wc1tpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyNjg6NTY6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0MjY4 IHwgdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag Km9wKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQx Njo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wJwogNDQxNiB8ICAgICAgICAgICAgICAgICBkZXNjc19pbl9vcCA9IGFzX29u ZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI2OjU4OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAy IG9mICdlbnF1ZXVlX21sZHRzX29uZV9vcCcgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBl IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyNiB8ICAgICAgICAgICAg ICAgICAgICAgICAgIHJldCA9IGVucXVldWVfbWxkdHNfb25lX29wKHEsIG9wc1tpXSwgZW5xdWV1 ZWRfZGVzY3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzcxOjcw OiBub3RlOiBleHBlY3RlZCAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJyBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJwogNDM3MSB8IGVucXVl dWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDQyODo2MDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiAnZW5x dWV1ZV9tbGR0c19zcGxpdF9vcCcgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vy cm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyOCB8ICAgICAgICAgICAgICAgICAg ICAgICAgIHJldCA9IGVucXVldWVfbWxkdHNfc3BsaXRfb3AocSwgb3BzW2ldLCBlbnF1ZXVlZF9k ZXNjcyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODk6 NzI6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1dCBhcmd1 bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0Mjg5IHwgZW5x dWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjQ1OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91 dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDQ1NSB8 ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICdkZXF1ZXVlX21sZHRzX29uZV9vcCc6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ5OToxMTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDQ5OSB8ICAg ICAgICAgb3AtPnN0YXR1cyA9IDA7CiAgICAgIHwgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDUwNSB8ICAgICAgICAg ICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5pbnB1dF9lcnIgPDwgUlRFX0JCREVWX0RBVEFfRVJS T1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0NTA2OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0NTA2IHwgICAgICAgICAgICAgICAgIG9w LT5zdGF0dXMgfD0gcnNwLmRtYV9lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ1MDc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCcKIDQ1MDcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSBy c3AuZmN3X2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODoxOTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJwogNDUwOCB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVu ZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODo1MDogZXJyb3I6ICdS VEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDQ1MDggfCAgICAg ICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VO R0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTExOjE1OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0 NTExIHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAhPSAwKQogICAgICB8ICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTEzOjE1OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3An CiA0NTEzIHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9EUlZfRVJS T1IpKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ1MzE6MjQ6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFy ZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0 aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NTMxIHwgICAgICAgICAg ICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9kZXF1ZXVlX21s ZHRzJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTQyOjU1OiBlcnJv cjogcGFzc2luZyBhcmd1bWVudCAzIG9mICdkZXF1ZXVlX21sZHRzX29uZV9vcCcgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogNDU0MiB8ICAgICAgICAgICAgICAgICByZXQgPSBkZXF1ZXVlX21sZHRzX29uZV9vcChxX2Rh dGEsIHEsICZvcHNbaV0sIGRlcXVldWVkX2NicywgJmFxX2RlcXVldWVkKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKioKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjY2OiBub3RlOiBleHBlY3RlZCAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKionCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBhY2NfcXVl dWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5efn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24gJ3ZyYl9iYmRldl9pbml0JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0NTczOjE0OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXYnIGhhcyBubyBtZW1iZXIgbmFtZWQg J2VucXVldWVfbWxkdHNfb3BzJzsgZGlkIHlvdSBtZWFuICdlbnF1ZXVlX2RlY19vcHMnPwogNDU3 MyB8ICAgICAgICAgZGV2LT5lbnF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9tbGR0czsK ICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAg ICAgZW5xdWV1ZV9kZWNfb3BzCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDU3NDoxNDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdk ZXF1ZXVlX21sZHRzX29wcyc7IGRpZCB5b3UgbWVhbiAnZGVxdWV1ZV9kZWNfb3BzJz8KIDQ1NzQg fCAgICAgICAgIGRldi0+ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVldWVfbWxkdHM7CiAg ICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAg IGRlcXVldWVfZGVjX29wcwpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9y cwpbMTQ2NC8xOTMyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJydGVfZXZlbnRfb3Bk bC5hLnAvbWVzb24tZ2VuZXJhdGVkXy4uX3J0ZV9ldmVudF9vcGRsLnBtZC5jLm8KWzE0NjUvMTkz Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhX2x0 ZV9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlY19mcGdhX2x0ZV9mZWMuYy5vClsxNDY2LzE5 MzJdIEdlbmVyYXRpbmcgZHJpdmVycy9ydGVfYmFzZWJhbmRfbGExMnh4LnBtZC5jIHdpdGggYSBj dXN0b20gY29tbWFuZApbMTQ2Ny8xOTMyXSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2V2ZW50X3N3 LnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbMTQ2OC8xOTMyXSBDb21waWxpbmcgQyBvYmpl Y3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWMuYS5wL2Jhc2ViYW5k X2ZwZ2FfNWducl9mZWNfcnRlX2ZwZ2FfNWducl9mZWMuYy5vClsxNDY5LzE5MzJdIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfbnVsbC5hLnAvYmFzZWJhbmRf bnVsbF9iYmRldl9udWxsLmMubwpbMTQ3MC8xOTMyXSBDb21waWxpbmcgQyBvYmplY3QgYXBwL2Rw ZGstZHVtcGNhcC5wL2R1bXBjYXBfbWFpbi5jLm8KWzE0NzEvMTkzMl0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF90dXJib19zdy5hLnAvYmFzZWJhbmRfdHVy Ym9fc3dfYmJkZXZfdHVyYm9fc29mdHdhcmUuYy5vClsxNDcyLzE5MzJdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRl X2FjYzEwMF9wbWQuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICM2 OgpPUzogUkhFTDkyLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVE OiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3Zy Yl9wbWQuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucCAtSWRy aXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFuZC9hY2MgLUkuLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRldiAtSS4gLUkuLiAtSWNvbmZpZyAt SS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9l YWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2 L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9s aWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xp Yi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAt SS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wg LUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlkcml2ZXJzL2J1cy9w Y2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIv cGNpIC1JLi4vbGliL3BjaSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNF VF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVk ZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0 LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21p c3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24g LVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRl ZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNr ZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8t bGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19F WFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIuYWNjIC1NRCAtTVEgZHJpdmVycy9s aWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAt TUYgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92 cmJfcG1kLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2Vi YW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmJfcXVldWVfc2V0dXDigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MTAzNzozNjogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZf T1BfRkZU4oCZPwogMTAzNyB8ICAgICAgICAgZWxzZSBpZiAoY29uZi0+b3BfdHlwZSA9PSAgUlRF X0JCREVWX09QX01MRFRTKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MTAzNzozNjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX3ByaW50X29w4oCZ OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6MzE6IGVycm9yOiDi gJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KIDEwOTUgfCAgICAg ICAgIH0gZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVfQkJERVZfT1BfTUxEVFMpIHsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjIyOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NDE6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAx MDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMubnVt X3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9w bWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n 4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMDk5OjY2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTA5OSB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21sZHRzLT5tbGR0cy5udW1fbGF5 ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5o OjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkK ICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjExMDA6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvcF9tbGR0cy0+bWxkdHMucl9yZXAsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDox ODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAg IDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzox MTAxOjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJH U19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMTo2NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDExMDEgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxk dHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXZfaW5mb19nZXTigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTMzMjozMzogZXJyb3I6IOKAmFJURV9C QkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzZC SVRfQ09NUFJFU1NJT07igJk/CiAxMzMyIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04gfAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQ Q19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMzY2OjM1OiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9P UF9GRlTigJk/CiAxMzY2IHwgICAgICAgICAgICAgICAgICAgICAgICAgLnR5cGUgICA9IFJURV9C QkRFVl9PUF9NTERUUywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMzY5OjQ5OiBlcnJvcjog4oCYUlRFX0JCREVWX01MRFRTX1JFUOKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDEzNjkgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUxEVFNfUkVQLAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiMl9mY3dfbGRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoxOTcyOjUzOiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBS RVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTuKAmT8KIDE5NzIg fCAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywgUlRF X0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNT SU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKA mHZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MzM3Mzo1MDogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCY UlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzM3MyB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSAo KHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbGRw Y19lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjM0MjU6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9F VkVOVF9FUlJPUuKAmT8KIDM0MjUgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9o dW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJS T1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiX2RlcXVldWVfZW5jX29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzozNDkzOjU4OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhS VEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNDkzIHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0 dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikg OiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VW RU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0 aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MzU0MDo0MjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJS T1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzU0MCB8ICAgICAgICAgb3AtPnN0YXR1 cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9sZHBjX2RlY19vbmVfb3BfY2LigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NTo0MjogZXJyb3I6IOKAmFJURV9C QkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzU5NSB8ICAg ICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9kZWNfb25lX29wX3Ri 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM2Nzc6NTg6IGVycm9y OiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8K IDM2NzcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykg PyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kbWFfZGVzY19mZnRf ZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozOTkwOjUxOiBl cnJvcjog4oCYUlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lOR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRkZUX1dJTkRP V0lOR+KAmT8KIDM5OTAgfCAgICAgICAgIGJvb2wgd2luX2VuID0gY2hlY2tfYml0KG9wLT5mZnQu b3BfZmxhZ3MsIFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkcpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MDE2OjI1OiBlcnJvcjog4oCYUlRFX0JCREVWX01BWF9DU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVf QkJERVZfTUFYX0NTXzLigJk/CiA0MDE2IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUlRFX0JC REVWX01BWF9DUzsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUFYX0NT XzIKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiX2VucXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MDQ5OjIyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmQogNDA0OSB8ICAgICAgICAg d2luID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDUzOjI5 OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTigJkgaGFzIG5vIG1lbWJlciBuYW1l ZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmQogNDA1MyB8ICAgICAgICAgd2luX29mZnNldCA9IG9w LT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE0Mjo0MjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJS T1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogNDE0MiB8ICAgICAgICAgb3AtPnN0YXR1 cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5 MjoyODogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5z aWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRl ZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNf ZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMg KmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiMl9mY3dfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MTk0OjIyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NCB8ICAgICAgICAgZmN3LT5ucmIgPSBvcC0+ bWxkdHMubnVtX3JiczsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTU6MjY6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk1IHwg ICAgICAgICBmY3ctPk5MYXllcnMgPSBvcC0+bWxkdHMubnVtX2xheWVycyAtIDE7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDE5NjoyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTYgfCAgICAgICAgIGZjdy0+UW1vZDAg PSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk3OjI1OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDE5NyB8ICAgICAgICAgZmN3LT5RbW9kMSA9IChvcC0+bWxkdHMucV9tWzFd ID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk4IHwg ICAgICAgICBmY3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21bMl0gPj4gMSkgLSAxOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDE5OToyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTkgfCAgICAgICAgIGZjdy0+UW1vZDMg PSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjAxOjE1OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDIwMSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDIp IHsKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIwNToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDUgfCAgICAgICAgIGlmIChvcC0+bWxk dHMubnVtX2xheWVycyA9PSAzKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwNyB8ICAg ICAgICAgZmN3LT5ScmVwID0gb3AtPm1sZHRzLnJfcmVwOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDg6MjM6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MjA4IHwgICAgICAgICBmY3ctPkNyZXAgPSBvcC0+bWxkdHMuY19yZXA7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjEzOjMzOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyMTMgfCB2 cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJi Ml9kbWFfZGVzY19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMjY6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI2IHwgICAgICAgICBpZiAob3AtPm1sZHRz LnJfcmVwID4gNSkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIyNzoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjcgfCAgICAgICAgICAg ICAgICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjg6MTU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MjI4IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI5 OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDIyOSB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xh eWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMwOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMCB8ICAgICAgICAg aWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMToxOTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQyMzEgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgICB8 ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzIgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBv cC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMzOjM3OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDIzMyB8ICAgICAgICAgICAgICAgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxk dHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDoyMDogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVW X1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDozODogZXJy b3I6IOKAmFJURV9CQkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiA0MjM0 IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJC ICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDo2MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzQgfCAgICAgICAg IHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1s ZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjM1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNSB8ICAgICAgICAgcl9udW0gPSBv cC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwog ICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzUgfCAgICAgICAgIHJfbnVtID0gb3At Pm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzY6MzM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MjM2IHwgICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzoz MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyMzcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+ bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MjE6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBu b3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjEgfCAgICAgICAg IHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2 LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjA6MTg6IGVycm9yOiB2 YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVz ZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjAgfCAgICAgICAgIHVpbnQxNl90IHJzaXplX3Blcl9y ZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjE5OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVz ZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjE5IHwgICAgICAgICB1aW50 MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExh eWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODozNjogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwg bm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24g Wy1XZXJyb3JdCiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW504oCZOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6MTU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0Mjc1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLmNfcmVwID09IDApCiAgICAgIHwgICAgICAg ICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo3OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy Nzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0Mjc4IHwgICAgICAgICBsYXllcl9pZHggPSBSVEVfTUlOKG9w LT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUg fCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3OCB8ICAgICAgICAgbGF5ZXJfaWR4ID0gUlRFX01JTihv cC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5o OjYxNTozNDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1 IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4ID0g UlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9u Lmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2 MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjgwOjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4MCB8ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlO KG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6 MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAg ICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyODQ6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjg0IHwgICAgICAgICByZXR1cm4gKG9wLT5tbGR0 cy5udW1fcmJzIDw9IG1heF9yYltsYXllcl9pZHhdW3JyZXBfaWR4XSk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQg dG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODk6NTI6 IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDI4OSB8IGVucXVldWVfbWxkdHNfc3BsaXRf b3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEluIGZ1bmN0aW9uIOKAmGVucXVldWVfbWxkdHNfc3BsaXRfb3DigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDQgfCAgICAg ICAgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDU6 MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0MzA1IHwgICAgICAgICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5w dXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNjoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDYgfCAgICAgICAg IG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA3OjIzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMwNyB8ICAgICAgICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5v ZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwODoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDggfCAgICAgICAg IG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMw OToyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQzMDkgfCAgICAgICAgIG51bV9zeW1zID0gb3AtPm1sZHRzLmNf cmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTE6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEg b2Yg4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0MzExIHwgICAgICAgICB2 cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6NDg6IG5vdGU6IGV4cGVj dGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQxOTIgfCB2cmIyX2Zjd19t bGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19t bGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE1OjE1 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMxNSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAg ICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMTY6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE2IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0 cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxNyB8ICAgICAg ICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxODoxOTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQzMTggfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDMxOToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTkgfCAgICAgICAgIGlmIChvcC0+bWxkdHMu bnVtX2xheWVycyA+IDQpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzIwIHwgICAgICAg ICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjI6Mjc6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MzIyIHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9s YXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMzozNzogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjMg fCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI0IHwgICAg ICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBD IHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjM4OiBlcnJvcjog4oCYUlRF X0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0NSQ19FUlJPUuKAmT8KIDQzMjQgfCAgICAgICAg IHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVw IGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDMyNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjUgfCAgICAgICAgIHJfbnVt ID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVw XTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMjU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI1IHwgICAgICAgICByX251bSA9 IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI2OjMz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMyNiB8ICAgICAgICAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5t bGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz Mjc6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0MzI3IHwgICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVb b3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0Mjk0OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYc2NfZmFjdG9yX3Blcl9ycmVw4oCZIHNldCBi dXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0Mjk0IHwgICAg ICAgICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsx MiwgNiwgNCwgMywgMCwgMn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjkzOjE4OiBlcnJv cjogdmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9 dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkzIHwgICAgICAgICB1aW50MTZfdCByc2l6ZV9w ZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwgNDJ9OwogICAgICB8ICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDI5MjoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5MiB8ICAgICAgICAg dWludDE2X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAv KiBMYXllciAyIHRvIDQuICovCiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NTA6IGVycm9yOiDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3 aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0 aW9uIFstV2Vycm9yXQogNDM3MSB8IGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVl dWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZW5x dWV1ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDM4MjoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODIgfCAgICAgICAgIGlucHV0X3EgPSBvcC0+bWxk dHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6MjE6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mzgz IHwgICAgICAgICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDM4NDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODQgfCAgICAgICAgIG91dHB1dCA9IG9wLT5tbGR0cy5v dXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NSB8ICAgICAg ICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDM4NjoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODYgfCAgICAgICAgIG91dF9vZmZzZXQgPSBvcC0+bWxk dHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4ODoyOTogZXJyb3I6IHBhc3Npbmcg YXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODgg fCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODog bm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1 bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDE5MiB8 IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVj dCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzODk6MzQ6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9kbWFfZGVz Y19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1p bmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODkgfCAgICAgICAgIHZyYjJfZG1hX2Rlc2Nf bWxkdHNfZmlsbChvcCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwgb3V0cHV0LAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6NTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICrigJkKIDQyMTMgfCB2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0NDAxOjI0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0MDEgfCAg ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3Qg bnVtKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJf ZW5xdWV1ZV9tbGR0c+KAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NDE1OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfY2hlY2tfbWxkX3Jf Y29uc3RyYWludOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDE1IHwgICAgICAgICAgICAgICAgIGFzX29uZV9v cCA9IHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChvcHNbaV0pOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjU2OiBub3RlOiBleHBlY3RlZCDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9j b25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjo1MzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ0 MTYgfCAgICAgICAgICAgICAgICAgZGVzY3NfaW5fb3AgPSBhc19vbmVfb3AgPyAxIDogb3BzW2ld LT5tbGR0cy5jX3JlcCArIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDQyNjo1ODogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhlbnF1ZXVlX21s ZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI2IHwgICAgICAgICAgICAgICAgICAgICAgICAg cmV0ID0gZW5xdWV1ZV9tbGR0c19vbmVfb3AocSwgb3BzW2ldLCBlbnF1ZXVlZF9kZXNjcyk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NzA6IG5vdGU6IGV4cGVj dGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQzNzEgfCBlbnF1ZXVlX21s ZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0Mjg6NjA6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYZW5xdWV1 ZV9tbGR0c19zcGxpdF9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI4IHwgICAgICAgICAgICAgICAgICAg ICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rl c2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo3 Mjogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBh cmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDI4 OSB8IGVucXVldWVfbWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NTo0NTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJy b3JdCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZGVxdWV1ZV9tbGR0c19vbmVf b3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ5OToxMTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQ0OTkgfCAgICAgICAgIG9wLT5zdGF0dXMgPSAwOwogICAgICB8ICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDU6MTk6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0NTA1IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmlucHV0X2Vy ciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDY6MTk6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0NTA2IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmRtYV9lcnIgPDwgUlRF X0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA3IHwg ICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmZjd19lcnIgPDwgUlRFX0JCREVWX0RS Vl9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA4IHwgICAgICAgICAg ICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVf RVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjUwOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJP UuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVh biDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiA0NTA4IHwgICAgICAgICAgICAgICAgIG9w LT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MTEgfCAgICAg ICAgIGlmIChvcC0+c3RhdHVzICE9IDApCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTM6MTU6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTEz IHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9EUlZfRVJST1IpKQog ICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ1MzE6MjQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDUzMSB8ICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1aW50MTZfdCBudW0pCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kZXF1ZXVlX21s ZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NDI6NTU6IGVy cm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYZGVxdWV1ZV9tbGR0c19vbmVfb3DigJkgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogNDU0MiB8ICAgICAgICAgICAgICAgICByZXQgPSBkZXF1ZXVlX21sZHRzX29uZV9v cChxX2RhdGEsIHEsICZvcHNbaV0sIGRlcXVldWVkX2NicywgJmFxX2RlcXVldWVkKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKioKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjY2OiBub3RlOiBleHBlY3RlZCDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkKIDQ0NTUgfCAgICAgICAgICAgICAgICAg c3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKnJlZl9vcCwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fl5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfYmJkZXZfaW5pdOKAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTczOjE0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRlduKA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGVucXVldWVfbWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1l YW4g4oCYZW5xdWV1ZV9kZWNfb3Bz4oCZPwogNDU3MyB8ICAgICAgICAgZGV2LT5lbnF1ZXVlX21s ZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9tbGR0czsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgZW5xdWV1ZV9kZWNfb3BzCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU3NDoxNDogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYmJkZXbigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXF1ZXVlX21sZHRzX29wc+KAmTsg ZGlkIHlvdSBtZWFuIOKAmGRlcXVldWVfZGVjX29wc+KAmT8KIDQ1NzQgfCAgICAgICAgIGRldi0+ ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVldWVfbWxkdHM7CiAgICAgIHwgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGRlcXVldWVfZGVjX29w cwpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjI1NC8yNzY1XSBM aW5raW5nIHN0YXRpYyB0YXJnZXQgZHJpdmVycy9saWJydGVfZXZlbnRfc3cuYQpbMjI1NS8yNzY1 XSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgZHJpdmVycy9saWJ0bXBfcnRlX2V2ZW50X29jdGVvbnR4 LmEKWzIyNTYvMjc2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNl YmFuZF9mcGdhX2x0ZV9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlY19mcGdhX2x0ZV9mZWMu Yy5vClsyMjU3LzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFz ZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4LmMubwpbMjI1OC8y NzY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2Ff NWducl9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWNfcnRlX2ZwZ2FfNWducl9mZWMuYy5v ClsyMjU5LzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBhcHAvZHBkay1kdW1wY2FwLnAvZHVtcGNh cF9tYWluLmMubwpbMjI2MC8yNzY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2Jhc2ViYW5kX251bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZfbnVsbC5jLm8KWzIyNjEv Mjc2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF90dXJi b19zdy5hLnAvYmFzZWJhbmRfdHVyYm9fc3dfYmJkZXZfdHVyYm9fc29mdHdhcmUuYy5vClsyMjYy LzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNj LmEucC9iYXNlYmFuZF9hY2NfcnRlX2FjYzEwMF9wbWQuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVk CgoKCgoqQnVpbGQgRmFpbGVkICM3OgpPUzogUkhFTDkyLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2Mu YS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gCmNsYW5nIC1JZHJpdmVycy9saWJ0bXBf cnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYmFz ZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9saWIv YmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUku Li9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xp bnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVk ZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGli L2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIv bWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUku Li9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4u L2xpYi9yaW5nIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJp dmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLWZjb2xvci1kaWFnbm9z dGljcyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAt V2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVk IC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5n LWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xk LXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0 LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tl ZC1tZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1m UElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJO QUxfQVBJIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmJiLmFjYyAtRFJURV9BTk5PVEFU RV9MT0NLUyAtV3RocmVhZC1zYWZldHkgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJh bmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJzL2xpYnRt cF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vLmQgLW8g ZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJf cG1kLmMubyAtYyAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzoyOTogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9PUF9NTERUUyc7IGRpZCB5b3UgbWVhbiAnUlRF X0JCREVWX09QX0ZGVCc/CiAgICAgICAgZWxzZSBpZiAoY29uZi0+b3BfdHlwZSA9PSAgUlRFX0JC REVWX09QX01MRFRTKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9P UF9GRlQKLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRFX0JCREVW X09QX0ZGVCcgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZG VCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk1 OjI0OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX09QX01M RFRTJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KICAgICAgICB9IGVsc2UgaWYg KG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX01MRFRTKSB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfT1BfRkZUCi4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDo4NTg6Mjogbm90ZTog J1JURV9CQkRFVl9PUF9GRlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfT1BfRkZU LCAgLyoqPCBGRlQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MTA5OToxMzogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w X21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9iYmRldl9s b2cnCiAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTY6MTA6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAg ICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcF9tbGR0cyA9IChzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wICopIG9wOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjM4OiBlcnJvcjogaW5jb21w bGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21s ZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv dnJiX3BtZC5oOjE4OjU6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9iYmRldl9sb2cn CiAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTY6MTA6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAg ICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcF9tbGR0cyA9IChzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wICopIG9wOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAwOjEzOiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLnJfcmVwLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92 cmJfcG1kLmg6MTg6NTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2JiZGV2X2xvZycK ICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NjoxMDogbm90ZTog Zm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wX21sZHRzID0gKHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKikgb3A7CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6MTM6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5t bGR0cy5vcF9mbGFncyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5e Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBleHBhbmRlZCBm cm9tIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykK ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzoxMDk2OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqb3BfbWxkdHMgPSAoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKSBvcDsKICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTEwMTozNjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRz LT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+XgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNy byAncnRlX2JiZGV2X2xvZycKICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTA5NjoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCcKICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9w X21sZHRzID0gKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKikgb3A7CiAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6NTog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9MRFBDX0hBUlFf NEJJVF9DT01QUkVTU0lPTic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklU X0NPTVBSRVNTSU9OJz8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZf TERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04gfAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgouLi9s aWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6MTgyOjI6IG5vdGU6ICdSVEVfQkJERVZfTERQQ19IQVJR XzZCSVRfQ09NUFJFU1NJT04nIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfTERQQ19I QVJRXzZCSVRfQ09NUFJFU1NJT04gPSAoMVVMTCA8PCAxNCksCiAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQgeW91IG1lYW4gJ1JURV9C QkRFVl9PUF9GRlQnPwogICAgICAgICAgICAgICAgICAgICAgICAudHlwZSAgID0gUlRFX0JCREVW X09QX01MRFRTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZU Ci4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDo4NTg6Mjogbm90ZTogJ1JURV9CQkRFVl9PUF9G RlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfT1BfRkZULCAgLyoqPCBGRlQgKi8K ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2OTo3OiBl cnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX01MRFRTX1JFUCcK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVW X01MRFRTX1JFUCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MDM6MjM6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQg eW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogICAgICAgIGRldl9pbmZvLT5udW1fcXVldWVz W1JURV9CQkRFVl9PUF9NTERUU10gPSBkLT5hY2NfY29uZi5xX21sZC5udW1fYXFzX3Blcl9ncm91 cHMgKgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vbGliL2JiZGV2L3J0 ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcgZGVjbGFyZWQgaGVy ZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxNDEwOjI3OiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX09QX01MRFRTJzsgZGlkIHlvdSBtZWFuICdS VEVfQkJERVZfT1BfRkZUJz8KICAgICAgICBkZXZfaW5mby0+cXVldWVfcHJpb3JpdHlbUlRFX0JC REVWX09QX01MRFRTXSA9IGQtPmFjY19jb25mLnFfbWxkLm51bV9xZ3JvdXBzOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2JiZGV2 X29wLmg6ODU4OjI6IG5vdGU6ICdSVEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAgICAg ICAgUlRFX0JCREVWX09QX0ZGVCwgIC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MTI6MzU6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRF Vl9PUF9GRlQnPwogICAgICAgIGZvciAoaSA9IFJURV9CQkRFVl9PUF9OT05FOyBpIDw9IFJURV9C QkRFVl9PUF9NTERUUzsgaSsrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjg1ODoy OiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRF Vl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxOTcyOjQ2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmll ciAnUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OJzsgZGlkIHlvdSBtZWFuICdS VEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04nPwogICAgICAgIH0gZWxzZSBpZiAo Y2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywgUlRFX0JCREVWX0xEUENfSEFSUV80QklU X0NPTVBSRVNTSU9OKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQ Q19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjE4Mjoy OiBub3RlOiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJyBkZWNsYXJlZCBo ZXJlCiAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OID0gKDFVTEwg PDwgMTQpLAogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoz MzczOjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX0VO R0lORV9FUlJPUic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KICAgICAg ICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1IpIDogMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vbGliL2JiZGV2 L3J0ZV9iYmRldi5oOjgzMToyOiBub3RlOiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJyBkZWNsYXJl ZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SLCAgLyoqPCBlcnJvciBpbnRlcnJ1 cHQgZXZlbnQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MzQyNTozNTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRF Vl9FTkdJTkVfRVJST1InOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAg ICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX0VWRU5UX0VSUk9SCi4uL2xpYi9iYmRldi9ydGVfYmJkZXYuaDo4MzE6Mjogbm90ZTog J1JURV9CQkRFVl9FVkVOVF9FUlJPUicgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9F VkVOVF9FUlJPUiwgIC8qKjwgZXJyb3IgaW50ZXJydXB0IGV2ZW50ICovCiAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NDQ6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJzsgZGlkIHlvdSBt ZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8 PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDAp OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9saWIvYmJk ZXYvcnRlX2JiZGV2Lmg6ODMxOjI6IG5vdGU6ICdSVEVfQkJERVZfRVZFTlRfRVJST1InIGRlY2xh cmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IsICAvKio8IGVycm9yIGludGVy cnVwdCBldmVudCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzozNTQwOjM1OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JC REVWX0VOR0lORV9FUlJPUic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8K ICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5F X0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfRVZFTlRfRVJST1IKLi4vbGliL2JiZGV2L3J0ZV9iYmRldi5oOjgzMToyOiBub3Rl OiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVW X0VWRU5UX0VSUk9SLCAgLyoqPCBlcnJvciBpbnRlcnJ1cHQgZXZlbnQgKi8KICAgICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NTozNTogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InOyBkaWQgeW91 IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAgICAgICAgb3AtPnN0YXR1cyB8PSByc3Au ZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2xp Yi9iYmRldi9ydGVfYmJkZXYuaDo4MzE6Mjogbm90ZTogJ1JURV9CQkRFVl9FVkVOVF9FUlJPUicg ZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUiwgIC8qKjwgZXJyb3Ig aW50ZXJydXB0IGV2ZW50ICovCiAgICAgICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3Jz IGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0 ZWQuClsyMjEzLzI3MjZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnJ0ZV9ldmVudF9z dy5hLnAvbWVzb24tZ2VuZXJhdGVkXy4uX3J0ZV9ldmVudF9zdy5wbWQuYy5vClsyMjE0LzI3MjZd IEdlbmVyYXRpbmcgZHJpdmVycy9ydGVfZXZlbnRfb2N0ZW9udHgucG1kLmMgd2l0aCBhIGN1c3Rv bSBjb21tYW5kClsyMjE1LzI3MjZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9y dGVfYmFzZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4LmMubwpb MjIxNi8yNzI2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5k X2ZwZ2FfbHRlX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV9sdGVfZmVjX2ZwZ2FfbHRlX2ZlYy5jLm8K WzIyMTcvMjcyNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFu ZF9mcGdhXzVnbnJfZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjX3J0ZV9mcGdhXzVnbnJf ZmVjLmMubwpbMjIxOC8yNzI2XSBDb21waWxpbmcgQyBvYmplY3QgYXBwL2RwZGstZHVtcGNhcC5w L2R1bXBjYXBfbWFpbi5jLm8KWzIyMTkvMjcyNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9iYXNlYmFuZF9udWxsLmEucC9iYXNlYmFuZF9udWxsX2JiZGV2X251bGwuYy5v ClsyMjIwLzI3MjZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJh bmRfdHVyYm9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3YXJlLmMu bwpbMjIyMS8yNzI2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2Vi YW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBfcG1kLmMubwpuaW5qYTogYnVpbGQg c3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjODoKT1M6IFJIRUw5Mi02NApUYXJnZXQ6IHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjK3NoYXJlZApGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9i YXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gCmdjYyAtSWRyaXZl cnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlk cml2ZXJzL2Jhc2ViYW5kL2FjYyAtSS4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjIC1JbGliL2JiZGV2 IC1JLi4vbGliL2JiZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9p bmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4v bGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwv eDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2Vh bCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNz IC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxp Yi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGli L3JpbmcgLUkuLi9saWIvcmluZyAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3Bj aSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9saWIvcGNpIC1mZGlh Z25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZh bGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3Qt cXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1z ZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVz dGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWdu LWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25v LWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1p c3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1EX0dOVV9T T1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExP V19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9M T0dUWVBFPXBtZC5iYi5hY2MgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNj LmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vLmQgLW8gZHJpdmVy cy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMu byAtYyAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9xdWV1ZV9zZXR1cOKA mToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjM2OiBlcnJvcjog 4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMDM3IHwgICAg ICAgICBlbHNlIGlmIChjb25mLT5vcF90eXBlID09ICBSVEVfQkJERVZfT1BfTUxEVFMpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9G RlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjM2OiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2gg ZnVuY3Rpb24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfcHJpbnRfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MTA5NTozMTogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhSVEVfQkJERVZfT1BfRkZU4oCZPwogMTA5NSB8ICAgICAgICAgfSBlbHNlIGlmIChvcF90eXBl ID09IFJURV9CQkRFVl9PUF9NTERUUykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9CQkRFVl9PUF9GRlQKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MjI6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MTA5OTo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDEwOTkgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMu bnVtX2xheWVycywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAg ICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NjY6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiAxMDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxk dHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAg ICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMDo0MTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDExMDAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5y X3JlcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAg IyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6NDE6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAx MTAxIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19y ZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQu aDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZ CiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMTAxOjY0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwg ICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVu Y3Rpb24g4oCYdnJiX2Rldl9pbmZvX2dldOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzoxMzMyOjMzOiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NP TVBSRVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTuKAmT8KIDEz MzIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFf NEJJVF9DT01QUkVTU0lPTiB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lP TgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6MzU6IGVycm9yOiDi gJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KIDEzNjYgfCAgICAg ICAgICAgICAgICAgICAgICAgICAudHlwZSAgID0gUlRFX0JCREVWX09QX01MRFRTLAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjk6NDk6IGVycm9yOiDigJhS VEVfQkJERVZfTUxEVFNfUkVQ4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogMTM2OSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9NTERUU19SRVAsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Zjd19sZF9maWxs 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE5NzI6NTM6IGVycm9y OiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT07igJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0xE UENfSEFSUV82QklUX0NPTVBSRVNTSU9O4oCZPwogMTk3MiB8ICAgICAgICAgfSBlbHNlIGlmIChj aGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLCBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRf Q09NUFJFU1NJT04pKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZW5jX29uZV9v cF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozMzczOjUwOiBl cnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1Li gJk/CiAzMzczIHwgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgx IDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZGVxdWV1ZV9sZHBjX2VuY19vbmVfb3BfdGLigJk6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQyNTo0MjogZXJyb3I6IOKAmFJU RV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzQyNSB8 ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lO RV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9lbmNfb25lX29w X3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NTg6IGVy cm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKA mT8KIDM0OTMgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVu ZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZGVj X29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTQw OjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRf RVJST1LigJk/CiAzNTQwIHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8 PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9k ZXF1ZXVlX2xkcGNfZGVjX29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzozNTk1OjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhS VEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNTk1IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJz cC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVW X0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MzY3Nzo1ODogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVf RVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzY3NyB8ICAgICAgICAgICAgICAg ICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJh2cmIyX2RtYV9kZXNjX2ZmdF9maWxs4oCZOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM5OTA6NTE6IGVycm9yOiDigJhSVEVfQkJERVZfRkZU X0RFV0lORE9XSU5H4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9GRlRfV0lORE9XSU5H4oCZPwogMzk5MCB8ICAgICAg ICAgYm9vbCB3aW5fZW4gPSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywgUlRFX0JCREVWX0ZG VF9ERVdJTkRPV0lORyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRkZU X1dJTkRPV0lORwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6MjU6 IGVycm9yOiDigJhSVEVfQkJERVZfTUFYX0NT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9NQVhfQ1NfMuKAmT8KIDQw MTYgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBSVEVfQkJERVZfTUFYX0NTOyBpKyspCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9NQVhfQ1NfMgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZW5xdWV1ZV9mZnRfb25lX29w 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6MjI6IGVycm9y OiDigJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRl d2luZG93aW5nX2lucHV04oCZCiA0MDQ5IHwgICAgICAgICB3aW4gPSBvcC0+ZmZ0LmRld2luZG93 aW5nX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNTM6Mjk6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2JiZGV2X29wX2ZmdOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV0 4oCZCiA0MDUzIHwgICAgICAgICB3aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1 dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVf ZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTQy OjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRf RVJST1LigJk/CiA0MTQyIHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8 PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjI4OiBlcnJvcjog4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIDQxOTIgfCB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZ OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6MjI6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MTk0IHwgICAgICAgICBmY3ctPm5yYiA9IG9wLT5tbGR0cy5udW1fcmJzOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDE5NToyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTUgfCAgICAgICAgIGZjdy0+TkxheWVycyA9 IG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk2OjI1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDE5NiB8ICAgICAgICAgZmN3LT5RbW9kMCA9IChvcC0+bWxkdHMucV9tWzBdID4+ IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk3IHwgICAg ICAgICBmY3ctPlFtb2QxID0gKG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDE5ODoyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTggfCAgICAgICAgIGZjdy0+UW1vZDIgPSAo b3AtPm1sZHRzLnFfbVsyXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk5OjI1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDE5OSB8ICAgICAgICAgZmN3LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+ IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDE6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjAxIHwgICAg ICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPT0gMikgewogICAgICB8ICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA1OjE1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDIwNSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDMpCiAg ICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMDc6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjA3IHwgICAgICAgICBmY3ctPlJyZXAgPSBvcC0+ bWxkdHMucl9yZXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwODoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDggfCAg ICAgICAgIGZjdy0+Q3JlcCA9IG9wLT5tbGR0cy5jX3JlcDsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9w IGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6MzM6IGVy cm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJh bWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9u IG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmls bChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGzi gJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNjoxNTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQyMjYgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICB8ICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI3 OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDIyNyB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMucl9yZXAg PSA1OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIyODoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjggfCAgICAgICAgIGlmIChv cC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjk6MTk6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI5 IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MzA6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0MjMwIHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXll cnMgPiA0KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjMxOjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMSB8ICAgICAgICAgICAgICAg ICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMyOjI3OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDIzMiB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBp KyspCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjMzIHwgICAgICAg ICAgICAgICAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNCB8ICAgICAgICAgc2Nf bnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMu Y19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjM4OiBlcnJvcjog4oCYUlRFX0JCREVWX1NDUEVS UkLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYUlRFX0JCREVWX0NSQ19FUlJPUuKAmT8KIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9w LT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsg MSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9DUkNfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjM0OjYxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51 bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6MTk6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2Nf ZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjU4OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDIzNSB8ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2Zh Y3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNjozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzYgfCAgICAg ICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2Nf bnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM3OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNyB8 ICAgICAgICAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0g KiByX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMToxODogZXJyb3I6IHZhcmlhYmxl IOKAmHNjX2ZhY3Rvcl9wZXJfcnJlcOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNl ZC1idXQtc2V0LXZhcmlhYmxlXQogNDIyMSB8ICAgICAgICAgdWludDE2X3Qgc2NfZmFjdG9yX3Bl cl9ycmVwW1ZSQjJfTUxEX1JSRVBfU0laRV0gPSB7MTIsIDYsIDQsIDMsIDAsIDJ9OwogICAgICB8 ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIyMDoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHJzaXplX3Blcl9y ZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQog NDIyMCB8ICAgICAgICAgdWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9 IHsxNCwgMjYsIDQyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTk6MTg6IGVycm9yOiB2YXJpYWJs ZSDigJhxc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0 LXNldC12YXJpYWJsZV0KIDQyMTkgfCAgICAgICAgIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIy X01MRF9MQVlfU0laRV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICB8 ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjY4OjM2OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBk ZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRl IG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyNjggfCB2cmIy X2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDi gJh2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDI3NToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyNzUgfCAgICAgICAgIGlmIChv cC0+bWxkdHMuY19yZXAgPT0gMCkKICAgICAgfCAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODozMTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQy NzggfCAgICAgICAgIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBW UkIyX01MRF9NSU5fTEFZRVIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBl b2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 Mjc4IHwgICAgICAgICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0g VlJCMl9NTERfTUlOX0xBWUVSLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlw ZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDI4MCB8ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3Jl cCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0 eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MzA6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MjgwIHwgICAgICAgICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIy X01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNTozNDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAo YSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4NDoxOTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQyODQgfCAgICAgICAgIHJldHVybiAob3AtPm1sZHRzLm51bV9yYnMgPD0gbWF4X3JiW2xh eWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo1MjogZXJyb3I6IOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90 IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1X ZXJyb3JdCiA0Mjg5IHwgZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpx LCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZW5xdWV1 ZV9tbGR0c19zcGxpdF9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzA0OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNCB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0 cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDUg fCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzA2OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNiB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91 dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDc6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA3IHwgICAgICAg ICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzA4OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwOCB8ICAgICAgICAgb3V0X29mZnNldCA9IG9wLT5tbGR0 cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA5OjIyOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMw OSB8ICAgICAgICAgbnVtX3N5bXMgPSBvcC0+bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMxMToyOTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19m aWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGli bGUtcG9pbnRlci10eXBlc10KIDQzMTEgfCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3As IGZjdyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKuKAmQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE1IHwg ICAgICAgICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgfCAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNjoxOTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQzMTYgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzMTc6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE3IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9s YXllcnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzE4OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxOCB8ICAgICAgICAgICAg ICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE5OjE1OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDMxOSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAg fCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMyMDoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjAgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51 bV9sYXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjIgfCAgICAg ICAgIGZvciAoaSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzIzOjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyMyB8ICAgICAgICAgICAgICAgICBvdXRz aXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMyNDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0 cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAq LwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMjQ6Mzg6IGVycm9yOiDigJhSVEVfQkJERVZfU0NQRVJSQuKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVf QkJERVZfQ1JDX0VSUk9S4oCZPwogNDMyNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51 bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAgZm9yY2VkIHRvIHplcm8uICovCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRF Vl9DUkNfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjE5 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMyNSB8ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAq IHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNTo1ODog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQzMjUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBz Y19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI2IHwg ICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAq IHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNzozMzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQz MjcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAt IDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTg6IGVycm9yOiB2YXJp YWJsZSDigJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11 bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTQgfCAgICAgICAgIHVpbnQxNl90IHNjX2ZhY3Rv cl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsKICAg ICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTM6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhyc2l6ZV9w ZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJs ZV0KIDQyOTMgfCAgICAgICAgIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0la RV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjkyOjE4OiBlcnJvcjogdmFy aWFibGUg4oCYcXNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2Vk LWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkyIHwgICAgICAgICB1aW50MTZfdCBxc2l6ZV9wZXJfcmVb VlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExheWVyIDIgdG8gNC4gKi8KICAg ICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM3MTo1MDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MzcxIHwg ZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX29uZV9vcOKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjIxOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDM4MiB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDM4MzoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODMgfCAgICAgICAgIGlucHV0X3IgPSBv cC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg0OjIwOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDM4NCB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzODU6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mzg1IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxk dHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg2OjI0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDM4NiB8ICAgICAgICAgb3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0Mzg4OjI5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJf ZmN3X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4OCB8ICAgICAgICAgdnJiMl9mY3dfbWxk dHNfZmlsbChvcCwgZmN3KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNfZmlsbChz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMgKmZjdykK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4OTozNDogZXJyb3I6IHBh c3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGzigJkgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5 cGVzXQogNDM4OSB8ICAgICAgICAgdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKG9wLCAmZGVzYy0+ cmVxLCBpbnB1dF9xLCBpbnB1dF9yLCBvdXRwdXQsCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIx Mzo1Mzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQog NDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9w IGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MDE6MjQ6IGVy cm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJh bWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9u IG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDQwMSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1aW50MTZfdCBudW0pCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9lbnF1ZXVlX21sZHRz4oCZOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTU6NjA6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW504oCZIGZyb20gaW5j b21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBl c10KIDQ0MTUgfCAgICAgICAgICAgICAgICAgYXNfb25lX29wID0gdnJiMl9jaGVja19tbGRfcl9j b25zdHJhaW50KG9wc1tpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyNjg6NTY6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICrigJkKIDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0NDE2OjUzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDQxNiB8ICAgICAgICAgICAgICAgICBk ZXNjc19pbl9vcCA9IGFzX29uZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI2OjU4OiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGVucXVldWVfbWxkdHNfb25lX29w4oCZIGZyb20gaW5j b21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBl c10KIDQ0MjYgfCAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBlbnF1ZXVlX21sZHRzX29u ZV9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDM3MTo3MDogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKuKAmQogNDM3MSB8IGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2Nf cXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQyODo2MDogZXJy b3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0X29w4oCZIGZy b20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRl ci10eXBlc10KIDQ0MjggfCAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBlbnF1ZXVlX21s ZHRzX3NwbGl0X29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5OjcyOiBub3RlOiBleHBlY3RlZCDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0Mjg5IHwgZW5xdWV1ZV9tbGR0c19zcGxp dF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0NDU1OjQ1OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0NTUgfCAgICAgICAgICAg ICAgICAgc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKnJl Zl9vcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJhkZXF1ZXVlX21sZHRzX29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDk5OjExOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDQ5OSB8ICAgICAg ICAgb3AtPnN0YXR1cyA9IDA7CiAgICAgIHwgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDUgfCAgICAgICAg ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuaW5wdXRfZXJyIDw8IFJURV9CQkRFVl9EQVRBX0VS Uk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDUwNjoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDYgfCAgICAgICAgICAgICAg ICAgb3AtPnN0YXR1cyB8PSByc3AuZG1hX2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDUwNzoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDcgfCAgICAgICAgICAgICAgICAgb3AtPnN0 YXR1cyB8PSByc3AuZmN3X2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUw ODoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQ1MDggfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSBy c3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6 NTA6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9F UlJPUuKAmT8KIDQ1MDggfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5l X2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0NTExOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUxMSB8ICAgICAgICAgaWYgKG9wLT5zdGF0dXMgIT0g MCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDUxMzoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MTMgfCAgICAgICAgIGlmIChvcC0+c3Rh dHVzICYgKDEgPDwgUlRFX0JCREVWX0RSVl9FUlJPUikpCiAgICAgIHwgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUzMToyNDogZXJyb3I6IOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0 IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFy YXRpb24gWy1XZXJyb3JdCiA0NTMxIHwgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbWxkdHPigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU0Mjo1NTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQg MyBvZiDigJhkZXF1ZXVlX21sZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVy IHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NTQyIHwgICAgICAg ICAgICAgICAgIHJldCA9IGRlcXVldWVfbWxkdHNfb25lX29wKHFfZGF0YSwgcSwgJm9wc1tpXSwg ZGVxdWV1ZWRfY2JzLCAmYXFfZGVxdWV1ZWQpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ0NTU6NjY6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKirigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqKuKAmQogNDQ1NSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZy Yl9iYmRldl9pbml04oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1 NzM6MTQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV24oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYZW5xdWV1ZV9tbGR0c19vcHPigJk7IGRpZCB5b3UgbWVhbiDigJhlbnF1ZXVlX2RlY19vcHPi gJk/CiA0NTczIHwgICAgICAgICBkZXYtPmVucXVldWVfbWxkdHNfb3BzID0gdnJiMl9lbnF1ZXVl X21sZHRzOwogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICBlbnF1ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NTc0OjE0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRlduKAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmGRlcXVldWVfbWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1lYW4g4oCYZGVxdWV1 ZV9kZWNfb3Bz4oCZPwogNDU3NCB8ICAgICAgICAgZGV2LT5kZXF1ZXVlX21sZHRzX29wcyA9IHZy YjJfZGVxdWV1ZV9tbGR0czsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgZGVxdWV1ZV9kZWNfb3BzCmNjMTogYWxsIHdhcm5pbmdzIGJl aW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyMjgwLzI2MjRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZf bGExMnh4LmMubwpbMjI4MS8yNjI0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2V2ZW50X29jdGVvbnR4LmEucC9ldmVudF9vY3Rlb250eF9zc292Zl9ldmRldl9zZWxmdGVz dC5jLm8KWzIyODIvMjYyNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9i YXNlYmFuZF9mcGdhX2x0ZV9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlY19mcGdhX2x0ZV9m ZWMuYy5vClsyMjgzLzI2MjRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf ZXZlbnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nzb3ZmX3dvcmtlci5jLm8KWzIyODQv MjYyNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdh XzVnbnJfZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjX3J0ZV9mcGdhXzVnbnJfZmVjLmMu bwpbMjI4NS8yNjI0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2Vi YW5kX251bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZfbnVsbC5jLm8KWzIyODYvMjYyNF0gQ29t cGlsaW5nIEMgb2JqZWN0IGFwcC9kcGRrLWR1bXBjYXAucC9kdW1wY2FwX21haW4uYy5vClsyMjg3 LzI2MjRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVy Ym9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3YXJlLmMubwpbMjI4 OC8yNjI0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2Fj Yy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBfcG1kLmMubwpuaW5qYTogYnVpbGQgc3RvcHBl ZAoKCgoKKkJ1aWxkIEZhaWxlZCAjOToKT1M6IFJIRUw5Mi02NApUYXJnZXQ6IHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjK2RlYnVnCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5k X2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0 bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMv YmFzZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9s aWIvYmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUg LUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFs L2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5j bHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4v bGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9s aWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYg LUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAt SS4uL2xpYi9yaW5nIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4v ZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLWZkaWFnbm9zdGlj cy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNo IC1XZXh0cmEgLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFs IC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3Vy aXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQt ZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29t cGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRk cmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2lu Zy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJD RSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lO VEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZ UEU9cG1kLmJiLmFjYyAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5w L2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNl YmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8uZCAtbyBkcml2ZXJzL2xp YnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1j IC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmMKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX3F1ZXVlX3NldHVw4oCZOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwMzc6MzY6IGVycm9yOiDigJhS VEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KIDEwMzcgfCAgICAgICAg IGVsc2UgaWYgKGNvbmYtPm9wX3R5cGUgPT0gIFJURV9CQkRFVl9PUF9NTERUUykKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwMzc6MzY6IG5vdGU6IGVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEluIGZ1bmN0aW9uIOKAmHZyYl9wcmludF9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxMDk1OjMxOiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJU RV9CQkRFVl9PUF9GRlTigJk/CiAxMDk1IHwgICAgICAgICB9IGVsc2UgaWYgKG9wX3R5cGUgPT0g UlRFX0JCREVWX09QX01MRFRTKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX09QX0ZGVApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoyMjoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoxMDk5OjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTA5OSB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21sZHRzLT5tbGR0cy5udW1f bGF5ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAg ICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5OTo2NjogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5u dW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMj X19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAwOjQxOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTEw MCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLnJfcmVw LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19f VkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMTo0MTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDExMDEg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5jX3JlcCwg b3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4 OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAg MTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEx MDE6NjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiAxMTAxIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAg ICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmJfZGV2X2luZm9fZ2V04oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjEzMzI6MzM6IGVycm9yOiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJF U1NJT07igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9O4oCZPwogMTMzMiB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV80QklU X0NPTVBSRVNTSU9OIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2NjozNTogZXJyb3I6IOKAmFJU RV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU4oCZPwogMTM2NiB8ICAgICAgICAg ICAgICAgICAgICAgICAgIC50eXBlICAgPSBSVEVfQkJERVZfT1BfTUxEVFMsCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2OTo0OTogZXJyb3I6IOKAmFJURV9C QkRFVl9NTERUU19SRVDigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAxMzY5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0JCREVWX01MRFRTX1JFUCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZmN3X2xkX2ZpbGzigJk6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTk3Mjo1MzogZXJyb3I6IOKA mFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTuKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfTERQQ19I QVJRXzZCSVRfQ09NUFJFU1NJT07igJk/CiAxOTcyIHwgICAgICAgICB9IGVsc2UgaWYgKGNoZWNr X2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01Q UkVTU0lPTikpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9lbmNfb25lX29wX2Ni 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjMzNzM6NTA6IGVycm9y OiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8K IDMzNzMgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwg UlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVf QkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiMl9kZXF1ZXVlX2xkcGNfZW5jX29uZV9vcF90YuKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1OjQyOiBlcnJvcjog4oCYUlRFX0JC REVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNDI1IHwgICAg ICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfdGLi gJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQ5Mzo1ODogZXJyb3I6 IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwog MzQ5MyB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9kZWNfb25l X29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6NDI6 IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJP UuKAmT8KIDM1NDAgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVl dWVfbGRwY19kZWNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjM1OTU6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9C QkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM1OTUgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVu Z2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZF TlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiX2RlcXVldWVfZGVjX29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzozNjc3OjU4OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJP UuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVh biDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNjc3IHwgICAgICAgICAgICAgICAgIG9w LT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JC REVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IElu IGZ1bmN0aW9uIOKAmHZyYjJfZG1hX2Rlc2NfZmZ0X2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo1MTogZXJyb3I6IOKAmFJURV9CQkRFVl9GRlRfREVX SU5ET1dJTkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkfigJk/CiAzOTkwIHwgICAgICAgICBi b29sIHdpbl9lbiA9IGNoZWNrX2JpdChvcC0+ZmZ0Lm9wX2ZsYWdzLCBSVEVfQkJERVZfRkZUX0RF V0lORE9XSU5HKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9GRlRfV0lO RE9XSU5HCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDAxNjoyNTogZXJy b3I6IOKAmFJURV9CQkRFVl9NQVhfQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX01BWF9DU18y4oCZPwogNDAxNiB8 ICAgICAgICAgZm9yIChpID0gMDsgaSA8IFJURV9CQkRFVl9NQVhfQ1M7IGkrKykKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX01BWF9DU18yCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9lbnF1ZXVlX2ZmdF9vbmVfb3DigJk6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA0OToyMjogZXJyb3I6IOKA mHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ04oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZGV3aW5k b3dpbmdfaW5wdXTigJkKIDQwNDkgfCAgICAgICAgIHdpbiA9IG9wLT5mZnQuZGV3aW5kb3dpbmdf aW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA1MzoyOTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJk ZXZfb3BfZmZ04oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZGV3aW5kb3dpbmdfaW5wdXTigJkK IDQwNTMgfCAgICAgICAgIHdpbl9vZmZzZXQgPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0Lm9m ZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9mZnRf b25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxNDI6NDI6 IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJP UuKAmT8KIDQxNDIgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6Mjg6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5v dCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFst V2Vycm9yXQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZmN3X21sZHRzX2ZpbGzigJk6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NDoyMjogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQxOTQgfCAgICAgICAgIGZjdy0+bnJiID0gb3AtPm1sZHRzLm51bV9yYnM7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MTk1OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NSB8ICAgICAgICAgZmN3LT5OTGF5ZXJzID0gb3At Pm1sZHRzLm51bV9sYXllcnMgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTY6MjU6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MTk2IHwgICAgICAgICBmY3ctPlFtb2QwID0gKG9wLT5tbGR0cy5xX21bMF0gPj4gMSkg LSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NzoyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTcgfCAgICAgICAg IGZjdy0+UW1vZDEgPSAob3AtPm1sZHRzLnFfbVsxXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MTk4OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5OCB8ICAgICAgICAgZmN3LT5RbW9kMiA9IChvcC0+ bWxkdHMucV9tWzJdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTk6MjU6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MTk5IHwgICAgICAgICBmY3ctPlFtb2QzID0gKG9wLT5tbGR0cy5xX21bM10gPj4gMSkg LSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwMToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDEgfCAgICAgICAg IGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAyKSB7CiAgICAgIHwgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDU6MTU6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MjA1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPT0gMykKICAgICAg fCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIwNzoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDcgfCAgICAgICAgIGZjdy0+UnJlcCA9IG9wLT5tbGR0 cy5yX3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwOCB8ICAgICAg ICAgZmN3LT5DcmVwID0gb3AtPm1sZHRzLmNfcmVwOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2 ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxMzozMzogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRl ciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3Ig ZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjEzIHwgdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbOKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI2OjE1OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDIyNiB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAgIHwgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjc6MTk6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MjI3IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjI4OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIyOCB8ICAgICAgICAgaWYgKG9wLT5t bGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyOToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjkgfCAg ICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICAgICB8ICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMDox NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyMzAgfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+ IDQpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMzE6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjMxIHwgICAgICAgICAgICAgICAgIG9w LT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzI6Mjc6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MjMyIHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIzMzozNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzMgfCAgICAgICAgICAg ICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMzQ6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM0IHwgICAgICAgICBzY19udW0g PSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3Jl cCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6Mzg6IGVycm9yOiDigJhSVEVfQkJERVZfU0NQRVJSQuKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1s ZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JC REVWX0NSQ19FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6 NjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0MjM0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3Ji cyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNToxOTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQyMzUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0 b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6NTg6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9y X3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNiB8ICAgICAgICAg cV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM3IHwgICAg ICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJf bnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIxOjE4OiBlcnJvcjogdmFyaWFibGUg4oCY c2NfZmFjdG9yX3Blcl9ycmVw4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1 dC1zZXQtdmFyaWFibGVdCiA0MjIxIHwgICAgICAgICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3Jy ZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgIHwgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjIwOjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZ IHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjIw IHwgICAgICAgICB1aW50MTZfdCByc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezE0 LCAyNiwgNDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxOToxODogZXJyb3I6IHZhcmlhYmxlIOKA mHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0 LXZhcmlhYmxlXQogNDIxOSB8ICAgICAgICAgdWludDE2X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxE X0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICovCiAgICAgIHwgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyNjg6MzY6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xh cmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2Yg dGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDI2OCB8IHZyYjJfY2hl Y2tfbWxkX3JfY29uc3RyYWludChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCkgewogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZy YjJfY2hlY2tfbWxkX3JfY29uc3RyYWludOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0Mjc1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3NSB8ICAgICAgICAgaWYgKG9wLT5t bGR0cy5jX3JlcCA9PSAwKQogICAgICB8ICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NzoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3OCB8 ICAgICAgICAgbGF5ZXJfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJf TUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToyNTogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAo YSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODozMTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyNzgg fCAgICAgICAgIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIy X01MRF9NSU5fTEFZRVIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MzQ6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2Yg KGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MzA6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MjgwIHwgICAgICAgICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBW UkIyX01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToyNTogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVv ZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQy ODAgfCAgICAgICAgIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxE X01BWF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xp Yi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBf YSA9IChhKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MjI6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MTo2MTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQyODEgfCAgICAgICAgIHJ0ZV9iYmRldl9sb2dfZGVidWcoIlJCICVkIGluZGV4ICVk ICVkIG1heCAlZFxuIiwgb3AtPm1sZHRzLm51bV9yYnMsIGxheWVyX2lkeCwgcnJlcF9pZHgsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAg ICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODE6OTogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2dfZGVidWfigJkKIDQyODEg fCAgICAgICAgIHJ0ZV9iYmRldl9sb2dfZGVidWcoIlJCICVkIGluZGV4ICVkICVkIG1heCAlZFxu Iiwgb3AtPm1sZHRzLm51bV9yYnMsIGxheWVyX2lkeCwgcnJlcF9pZHgsCiAgICAgIHwgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDI4NDoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODQgfCAgICAgICAgIHJldHVybiAob3AtPm1sZHRz Lm51bV9yYnMgPD0gbWF4X3JiW2xheWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0 b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo1Mjog ZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0Mjg5IHwgZW5xdWV1ZV9tbGR0c19zcGxpdF9v cChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYZW5xdWV1ZV9tbGR0c19zcGxpdF9vcOKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA0OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNCB8ICAgICAg ICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToy MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQzMDUgfCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1 dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNiB8ICAgICAgICAg b3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDc6MjM6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0MzA3IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9m ZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwOCB8ICAgICAgICAg b3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA5 OjIyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDMwOSB8ICAgICAgICAgbnVtX3N5bXMgPSBvcC0+bWxkdHMuY19y ZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxMToyOTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBv ZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlw ZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzMTEgfCAgICAgICAgIHZy YjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODogbm90ZTogZXhwZWN0 ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDE5MiB8IHZyYjJfZmN3X21s ZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21s ZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTU6MTU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MzE1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAg ICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMxNjoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTYgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRz LnJfcmVwID0gNTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTc6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE3IHwgICAgICAg ICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE4OjE5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDMxOCB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzE5OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxOSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5u dW1fbGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMDoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjAgfCAgICAgICAg ICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMjoyNzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQzMjIgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xh eWVyczsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIzOjM3OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyMyB8 ICAgICAgICAgICAgICAgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjQgfCAgICAg ICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMg cmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6Mzg6IGVycm9yOiDigJhSVEVf QkJERVZfU0NQRVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7 IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogNDMyNCB8ICAgICAgICAg c2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAg Zm9yY2VkIHRvIHplcm8uICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9DUkNfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzI1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNSB8ICAgICAgICAgcl9udW0g PSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBd OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMyNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjUgfCAgICAgICAgIHJfbnVtID0g b3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6MzM6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MzI2IHwgICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1s ZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMy NzozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQzMjcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtv cC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyOTQ6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1 dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTQgfCAgICAg ICAgIHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEy LCA2LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTM6MTg6IGVycm9y OiB2YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11 bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTMgfCAgICAgICAgIHVpbnQxNl90IHJzaXplX3Bl cl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjkyOjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90 IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkyIHwgICAgICAgICB1 aW50MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8q IExheWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo1MDogZXJyb3I6IOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdp bGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRp b24gWy1XZXJyb3JdCiA0MzcxIHwgZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1 ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhlbnF1 ZXVlX21sZHRzX29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzgyOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4MiB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0 cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MzoyMTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODMg fCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mzg0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NCB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91 dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODU6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mzg1IHwgICAgICAg ICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mzg2OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NiB8ICAgICAgICAgb3V0X29mZnNldCA9IG9wLT5tbGR0 cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg4OjI5OiBlcnJvcjogcGFzc2luZyBh cmd1bWVudCAxIG9mIOKAmHZyYjJfZmN3X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUg cG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4OCB8 ICAgICAgICAgdnJiMl9mY3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4OiBu b3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3Vt ZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MTkyIHwg dnJiMl9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0 IGFjY19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDM4OTozNDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2RtYV9kZXNj X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWlu Y29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4OSB8ICAgICAgICAgdnJiMl9kbWFfZGVzY19t bGR0c19maWxsKG9wLCAmZGVzYy0+cmVxLCBpbnB1dF9xLCBpbnB1dF9yLCBvdXRwdXQsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIxMzo1Mzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKuKAmQogNDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0MDE6MjQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDQwMSB8ICAg ICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1aW50MTZfdCBu dW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9l bnF1ZXVlX21sZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0 MTU6NjA6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9jaGVja19tbGRfcl9j b25zdHJhaW504oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNv bXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MTUgfCAgICAgICAgICAgICAgICAgYXNfb25lX29w ID0gdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KG9wc1tpXSk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6NTY6IG5vdGU6IGV4cGVjdGVkIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2Nv bnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE2OjUzOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDQx NiB8ICAgICAgICAgICAgICAgICBkZXNjc19pbl9vcCA9IGFzX29uZV9vcCA/IDEgOiBvcHNbaV0t Pm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0NDI2OjU4OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGVucXVldWVfbWxk dHNfb25lX29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNv bXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MjYgfCAgICAgICAgICAgICAgICAgICAgICAgICBy ZXQgPSBlbnF1ZXVlX21sZHRzX29uZV9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo3MDogbm90ZTogZXhwZWN0 ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDM3MSB8IGVucXVldWVfbWxk dHNfb25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag Km9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDQyODo2MDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhlbnF1ZXVl X21sZHRzX3NwbGl0X29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MjggfCAgICAgICAgICAgICAgICAgICAg ICAgICByZXQgPSBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVz Y3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5Ojcy OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0Mjg5 IHwgZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjQ1OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KIDQ0NTUgfCAgICAgICAgICAgICAgICAgc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqKnJlZl9vcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhkZXF1ZXVlX21sZHRzX29uZV9v cOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDk5OjExOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDQ5OSB8ICAgICAgICAgb3AtPnN0YXR1cyA9IDA7CiAgICAgIHwgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNToxOTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQ1MDUgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuaW5wdXRfZXJy IDw8IFJURV9CQkRFVl9EQVRBX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNjoxOTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQ1MDYgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZG1hX2VyciA8PCBSVEVf QkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNzoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDcgfCAg ICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZmN3X2VyciA8PCBSVEVfQkJERVZfRFJW X0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDUwODoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDggfCAgICAgICAgICAg ICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQ1MDg6NTA6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDQ1MDggfCAgICAgICAgICAgICAgICAgb3At PnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTExOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUxMSB8ICAgICAg ICAgaWYgKG9wLT5zdGF0dXMgIT0gMCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMzoxNTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MTMg fCAgICAgICAgIGlmIChvcC0+c3RhdHVzICYgKDEgPDwgUlRFX0JCREVWX0RSVl9FUlJPUikpCiAg ICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDUzMToyNDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQg aW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlz IGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NTMxIHwgICAgICAgICAgICAg ICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbWxk dHPigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU0Mjo1NTogZXJy b3I6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhkZXF1ZXVlX21sZHRzX29uZV9vcOKAmSBmcm9t IGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXIt dHlwZXNdCiA0NTQyIHwgICAgICAgICAgICAgICAgIHJldCA9IGRlcXVldWVfbWxkdHNfb25lX29w KHFfZGF0YSwgcSwgJm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAmYXFfZGVxdWV1ZWQpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NjY6IG5vdGU6IGV4cGVjdGVkIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKuKAmQogNDQ1NSB8ICAgICAgICAgICAgICAgICBz dHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqcmVmX29wLAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Xn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9iYmRldl9pbml04oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ1NzM6MTQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV24oCZ IGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZW5xdWV1ZV9tbGR0c19vcHPigJk7IGRpZCB5b3UgbWVh biDigJhlbnF1ZXVlX2RlY19vcHPigJk/CiA0NTczIHwgICAgICAgICBkZXYtPmVucXVldWVfbWxk dHNfb3BzID0gdnJiMl9lbnF1ZXVlX21sZHRzOwogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICBlbnF1ZXVlX2RlY19vcHMKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTc0OjE0OiBlcnJvcjog4oCYc3RydWN0IHJ0 ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRlcXVldWVfbWxkdHNfb3Bz4oCZOyBk aWQgeW91IG1lYW4g4oCYZGVxdWV1ZV9kZWNfb3Bz4oCZPwogNDU3NCB8ICAgICAgICAgZGV2LT5k ZXF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZGVxdWV1ZV9tbGR0czsKICAgICAgfCAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgZGVxdWV1ZV9kZWNfb3Bz CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyMjUzLzI3NjVdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfbGExMnh4LmEucC9i YXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4LmMubwpbMjI1NC8yNzY1XSBHZW5lcmF0aW5nIHN5 bWJvbCBmaWxlIGRyaXZlcnMvbGlicnRlX2NyeXB0b19vY3Rlb250eC5zby4yMy4yLnAvbGlicnRl X2NyeXB0b19vY3Rlb250eC5zby4yMy4yLnN5bWJvbHMKWzIyNTUvMjc2NV0gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhX2x0ZV9mZWMuYS5wL2Jhc2Vi YW5kX2ZwZ2FfbHRlX2ZlY19mcGdhX2x0ZV9mZWMuYy5vClsyMjU2LzI3NjVdIENvbXBpbGluZyBD IG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfbnVsbC5hLnAvYmFzZWJhbmRfbnVs bF9iYmRldl9udWxsLmMubwpbMjI1Ny8yNzY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfNWducl9m ZWNfcnRlX2ZwZ2FfNWducl9mZWMuYy5vClsyMjU4LzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfZXZlbnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nzb3Zm X3dvcmtlci5jLm8KWzIyNTkvMjc2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGFwcC9kcGRrLWR1bXBj YXAucC9kdW1wY2FwX21haW4uYy5vClsyMjYwLzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVyYm9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2Ji ZGV2X3R1cmJvX3NvZnR3YXJlLmMubwpbMjI2MS8yNzY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBf cG1kLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTA6Ck9TOiBT VVNFMTUtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkZBSUxFRDogZHJp dmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1k LmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucCAtSWRyaXZl cnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFuZC9hY2MgLUkuLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4u L2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwv bGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2lu Y2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIv ZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9r dmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4u L2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUku Li9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlkcml2ZXJzL2J1cy9wY2kg LUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvcGNp IC1JLi4vbGliL3BjaSAtZmNvbG9yLWRpYWdub3N0aWNzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQg LVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25m aWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJh bCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXIt YXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUt c3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLW1pc3NpbmctZmllbGQt aW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VY UEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLURSVEVfTE9HX0RFRkFVTFRfTE9H VFlQRT1wbWQuYmIuYWNjIC1EUlRFX0FOTk9UQVRFX0xPQ0tTIC1XdGhyZWFkLXNhZmV0eSAtTUQg LU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVf dnJiX3BtZC5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2Vi YW5kX2FjY19ydGVfdnJiX3BtZC5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRf YWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1jIC4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMDM3OjI5OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVW X09QX01MRFRTJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KICAgICAgICBlbHNl IGlmIChjb25mLT5vcF90eXBlID09ICBSVEVfQkJERVZfT1BfTUxEVFMpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2JiZGV2 X29wLmg6ODU4OjI6IG5vdGU6ICdSVEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAgICAg ICAgUlRFX0JCREVWX09QX0ZGVCwgIC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6MjQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRF Vl9PUF9GRlQnPwogICAgICAgIH0gZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVfQkJERVZfT1BfTUxE VFMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vbGliL2JiZGV2 L3J0ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcgZGVjbGFyZWQg aGVyZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjEzOiBlcnJvcjogaW5jb21w bGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21s ZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogZXhw YW5kZWQgZnJvbSBtYWNybyAncnRlX2JiZGV2X2xvZycKICAgICAgICAgICAgICAgICMjX19WQV9B UkdTX18pCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MTA5NjoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKm9wX21sZHRzID0gKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKikgb3A7 CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjEwOTk6Mzg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv cF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5+XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogZXhwYW5k ZWQgZnJvbSBtYWNybyAncnRlX2JiZGV2X2xvZycKICAgICAgICAgICAgICAgICMjX19WQV9BUkdT X18pCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MTA5NjoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKm9wX21sZHRzID0gKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKikgb3A7CiAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjExMDA6MTM6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9t bGR0cy0+bWxkdHMucl9yZXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fn5eCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBleHBhbmRl ZCBmcm9tIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1Nf XykKICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxMDk2OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqb3BfbWxkdHMgPSAoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKSBvcDsKICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTEwMToxMzogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21s ZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJi X3BtZC5oOjE4OjU6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9iYmRldl9sb2cnCiAg ICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTY6MTA6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAgICAg ICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcF9tbGR0cyA9IChzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICopIG9wOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjM2OiBlcnJvcjogaW5jb21wbGV0ZSBk ZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxk dHMub3BfZmxhZ3MpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5+fn5eCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDox ODo1OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAgICAgICAg ICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk2OjEwOiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3BfbWxkdHMgPSAoc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqKSBvcDsKICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MTMzMjo1OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRl bnRpZmllciAnUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OJzsgZGlkIHlvdSBt ZWFuICdSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04nPwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTiB8 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xE UENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDoxODI6 Mjogbm90ZTogJ1JURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTicgZGVjbGFyZWQg aGVyZQogICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTiA9ICgxVUxM IDw8IDE0KSwKICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTM2NjoxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9P UF9NTERUUyc7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/CiAgICAgICAgICAgICAg ICAgICAgICAgIC50eXBlICAgPSBSVEVfQkJERVZfT1BfTUxEVFMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5o Ojg1ODoyOiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcgZGVjbGFyZWQgaGVyZQogICAgICAgIFJU RV9CQkRFVl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY5Ojc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdSVEVfQkJERVZfTUxEVFNfUkVQJwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUxEVFNfUkVQLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MTQwMzoyMzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ1JURV9CQkRFVl9PUF9NTERUUyc7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/ CiAgICAgICAgZGV2X2luZm8tPm51bV9xdWV1ZXNbUlRFX0JCREVWX09QX01MRFRTXSA9IGQtPmFj Y19jb25mLnFfbWxkLm51bV9hcXNfcGVyX2dyb3VwcyAqCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6ODU4OjI6IG5vdGU6ICdS VEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX09QX0ZGVCwg IC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjE0MTA6Mjc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJE RVZfT1BfTUxEVFMnOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogICAgICAgIGRl dl9pbmZvLT5xdWV1ZV9wcmlvcml0eVtSVEVfQkJERVZfT1BfTUxEVFNdID0gZC0+YWNjX2NvbmYu cV9tbGQubnVtX3Fncm91cHM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZf T1BfRkZUCi4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDo4NTg6Mjogbm90ZTogJ1JURV9CQkRF Vl9PUF9GRlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfT1BfRkZULCAgLyoqPCBG RlQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTQx MjozNTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9PUF9N TERUUyc7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/CiAgICAgICAgZm9yIChpID0g UlRFX0JCREVWX09QX05PTkU7IGkgPD0gUlRFX0JCREVWX09QX01MRFRTOyBpKyspCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9s aWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6ODU4OjI6IG5vdGU6ICdSVEVfQkJERVZfT1BfRkZUJyBk ZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX09QX0ZGVCwgIC8qKjwgRkZUICovCiAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE5NzI6NDY6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRf Q09NUFJFU1NJT04nOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01Q UkVTU0lPTic/CiAgICAgICAgfSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2Zs YWdzLCBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgouLi9s aWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6MTgyOjI6IG5vdGU6ICdSVEVfQkJERVZfTERQQ19IQVJR XzZCSVRfQ09NUFJFU1NJT04nIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfTERQQ19I QVJRXzZCSVRfQ09NUFJFU1NJT04gPSAoMVVMTCA8PCAxNCksCiAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjMzNzM6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJzsgZGlkIHlvdSBtZWFuICdS VEVfQkJERVZfRVZFTlRfRVJST1InPwogICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5l X2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9C QkRFVl9FVkVOVF9FUlJPUgouLi9saWIvYmJkZXYvcnRlX2JiZGV2Lmg6ODMxOjI6IG5vdGU6ICdS VEVfQkJERVZfRVZFTlRfRVJST1InIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfRVZF TlRfRVJST1IsICAvKio8IGVycm9yIGludGVycnVwdCBldmVudCAqLwogICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1OjM1OiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX0VOR0lORV9FUlJPUic7IGRpZCB5b3UgbWVh biAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdp bmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vbGliL2Ji ZGV2L3J0ZV9iYmRldi5oOjgzMToyOiBub3RlOiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJyBkZWNs YXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SLCAgLyoqPCBlcnJvciBpbnRl cnJ1cHQgZXZlbnQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MzQ5Mzo0NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9C QkRFVl9FTkdJTkVfRVJST1InOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/ CiAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8 IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX0VWRU5UX0VSUk9SCi4uL2xpYi9iYmRldi9ydGVfYmJkZXYuaDo4MzE6Mjogbm90ZTog J1JURV9CQkRFVl9FVkVOVF9FUlJPUicgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9F VkVOVF9FUlJPUiwgIC8qKjwgZXJyb3IgaW50ZXJydXB0IGV2ZW50ICovCiAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6MzU6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJzsgZGlkIHlvdSBt ZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVu Z2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9saWIv YmJkZXYvcnRlX2JiZGV2Lmg6ODMxOjI6IG5vdGU6ICdSVEVfQkJERVZfRVZFTlRfRVJST1InIGRl Y2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IsICAvKio8IGVycm9yIGlu dGVycnVwdCBldmVudCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzozNTk1OjM1OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRF X0JCREVWX0VOR0lORV9FUlJPUic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9S Jz8KICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5H SU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vbGliL2JiZGV2L3J0ZV9iYmRldi5oOjgzMToyOiBu b3RlOiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JC REVWX0VWRU5UX0VSUk9SLCAgLyoqPCBlcnJvciBpbnRlcnJ1cHQgZXZlbnQgKi8KICAgICAgICBe CmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVy cm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KWzIyNzAvMjc4NF0gR2VuZXJhdGluZyBk cml2ZXJzL3J0ZV9ldmVudF9zdy5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzIyNzEvMjc4 NF0gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9ldmVudF9vY3Rlb250eC5wbWQuYyB3aXRoIGEgY3Vz dG9tIGNvbW1hbmQKWzIyNzIvMjc4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9iYXNlYmFuZF9sYTEyeHguYS5wL2Jhc2ViYW5kX2xhMTJ4eF9iYmRldl9sYTEyeHguYy5v ClsyMjczLzI3ODRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJh bmRfZnBnYV81Z25yX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV81Z25yX2ZlY19ydGVfZnBnYV81Z25y X2ZlYy5jLm8KWzIyNzQvMjc4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9iYXNlYmFuZF9mcGdhX2x0ZV9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlY19mcGdhX2x0 ZV9mZWMuYy5vClsyMjc1LzI3ODRdIENvbXBpbGluZyBDIG9iamVjdCBhcHAvZHBkay1kdW1wY2Fw LnAvZHVtcGNhcF9tYWluLmMubwpbMjI3Ni8yNzg0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX2Jhc2ViYW5kX251bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZfbnVsbC5j Lm8KWzIyNzcvMjc4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNl YmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfYWNjMTAwX3BtZC5jLm8KWzIyNzgvMjc4NF0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF90dXJib19zdy5h LnAvYmFzZWJhbmRfdHVyYm9fc3dfYmJkZXZfdHVyYm9fc29mdHdhcmUuYy5vCm5pbmphOiBidWls ZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxMToKT1M6IFNVU0UxNS02NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2Vi YW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAKZ2NjIC1JZHJpdmVycy9s aWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZl cnMvYmFzZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MgLUlsaWIvYmJkZXYgLUku Li9saWIvYmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1 ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIv ZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYv aW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1J Li4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUku Li9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21i dWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmlu ZyAtSS4uL2xpYi9yaW5nIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLWZkaWFnbm9z dGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQt cGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFs IC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3Vy aXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQt ZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29t cGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlz c2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZl IC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1h dC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmJiLmFjYyAtTUQgLU1R IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJi X3BtZC5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5k X2FjY19ydGVfdnJiX3BtZC5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNj LmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1jIC4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiX3F1ZXVlX3NldHVw4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjEwMzc6Mjk6IGVycm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCY UlRFX0JCREVWX09QX0ZGVOKAmT8KICBlbHNlIGlmIChjb25mLT5vcF90eXBlID09ICBSVEVfQkJE RVZfT1BfTUxEVFMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwMzc6Mjk6IG5vdGU6IGVhY2ggdW5kZWNs YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBp dCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uIOKAmHZyYl9wcmludF9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoxMDk1OjI0OiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRF Vl9PUF9GRlTigJk/CiAgfSBlbHNlIGlmIChvcF90eXBlID09IFJURV9CQkRFVl9PUF9NTERUUykg ewogICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoyMjowOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKICAgICBv cF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgIyNfX1ZBX0FSR1Nf XykKICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJh2cmJfZGV2X2luZm9fZ2V04oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6NTogZXJyb3I6IOKAmFJURV9CQkRFVl9MRFBDX0hBUlFf NEJJVF9DT01QUkVTU0lPTuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT07i gJk/CiAgICAgUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OIHwKICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICBSVEVfQkJERVZfTERQQ19IQVJR XzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzox MzY2OjEyOiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTi gJk/CiAgICAudHlwZSA9IFJURV9CQkRFVl9PUF9NTERUUywKICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY5Ojc6IGVycm9yOiDigJhSVEVfQkJERVZfTUxEVFNfUkVQ 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmT8KICAgICAgIFJURV9CQkRFVl9NTERUU19SRVAsCiAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICBSVEVfQkJERVZfT1BfTUxEVFMKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxNDAzOjIyOiBlcnJvcjogYXJyYXkgc3Vi c2NyaXB0IGlzIG5vdCBhbiBpbnRlZ2VyCiAgZGV2X2luZm8tPm51bV9xdWV1ZXNbUlRFX0JCREVW X09QX01MRFRTXSA9IGQtPmFjY19jb25mLnFfbWxkLm51bV9hcXNfcGVyX2dyb3VwcyAqCiAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTQwMzoyOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12 YWx1ZV0KICBkZXZfaW5mby0+bnVtX3F1ZXVlc1tSVEVfQkJERVZfT1BfTUxEVFNdID0gZC0+YWNj X2NvbmYucV9tbGQubnVtX2Fxc19wZXJfZ3JvdXBzICoKICBefn5+fn5+fgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MTA6MjY6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQg aXMgbm90IGFuIGludGVnZXIKICBkZXZfaW5mby0+cXVldWVfcHJpb3JpdHlbUlRFX0JCREVWX09Q X01MRFRTXSA9IGQtPmFjY19jb25mLnFfbWxkLm51bV9xZ3JvdXBzOwogICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxNDEwOjI6 IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQog IGRldl9pbmZvLT5xdWV1ZV9wcmlvcml0eVtSVEVfQkJERVZfT1BfTUxEVFNdID0gZC0+YWNjX2Nv bmYucV9tbGQubnVtX3Fncm91cHM7CiAgXn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxNDEyOjMyOiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIg YW5kIGludGVnZXIgWy1XZXJyb3JdCiAgZm9yIChpID0gUlRFX0JCREVWX09QX05PTkU7IGkgPD0g UlRFX0JCREVWX09QX01MRFRTOyBpKyspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiMl9mY3dfbGRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxOTcyOjQ2OiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9O 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTuKAmT8KICB9IGVsc2UgaWYg KGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJ VF9DT01QUkVTU0lPTikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklU X0NPTVBSRVNTSU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTk3Mjo0 NjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjaGVja19iaXTigJkgbWFrZXMgaW50 ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25d CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6 ODowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoyMjoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvYWNjX2NvbW1vbi5oOjY5MToxOiBu b3RlOiBleHBlY3RlZCDigJh1aW50MzJfdCB7YWthIHVuc2lnbmVkIGludH3igJkgYnV0IGFyZ3Vt ZW50IGlzIG9mIHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmQogY2hl Y2tfYml0KHVpbnQzMl90IGJpdG1hcCwgdWludDMyX3QgYml0bWFzaykKIF5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVx dWV1ZV9lbmNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjMzNzM6NDM6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRF Vl9FVkVOVF9FUlJPUuKAmT8KICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgx IDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozMzczOjQwOiBlcnJvcjogaW52YWxpZCBv cGVyYW5kcyB0byBiaW5hcnkgPDwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAq4oCZKQogIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcp ID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MzM3MzoxMzogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IHwgKGhhdmUg 4oCYaW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZKQogIG9w LT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUikgOiAwKTsKICAgICAgICAgICAgIF5+IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzozMzczOjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9 dW51c2VkLXZhbHVlXQogIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwg UlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbGRwY19lbmNfb25l X29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0MjU6MzU6 IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJP UuKAmT8KICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5F X0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZF TlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1OjMyOiBl cnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPDwgKGhhdmUg4oCYaW504oCZIGFuZCDi gJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZKQogIG9wLT5zdGF0dXMgfD0gcnNw LmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICB+ fn5+fn5+fn5+fn5+fn4gXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoz NDI1OjEzOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgfCAoaGF2ZSDigJhpbnTi gJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkpCiAgb3AtPnN0YXR1 cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAg ICAgIF5+IH5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0MjU6Mjog ZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAg b3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsK ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDi gJh2cmJfZGVxdWV1ZV9lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjM0OTM6NDQ6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVf aHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRf RVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjQxOiBlcnJv cjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPDwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhj b25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZKQogICBvcC0+c3RhdHVzIHw9ICgocnNw LmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjE0OiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBi aW5hcnkgfCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3Bf Y2FwICrigJkpCiAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRF X0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgICAgICAgICBefiB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQ5MzozOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8g ZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdp bmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVx dWV1ZV9kZWNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjM1NDA6MzU6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRF Vl9FVkVOVF9FUlJPUuKAmT8KICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVf QkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzozNTQwOjMyOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPDwgKGhhdmUg4oCY aW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZKQogIG9wLT5z dGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAg ICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn4gXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzozNTQwOjEzOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgfCAo aGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkp CiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJP UjsKICAgICAgICAgICAgIF5+IH5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjM1NDA6MjogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVz ZWQtdmFsdWVdCiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VO R0lORV9FUlJPUjsKICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJ biBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9sZHBjX2RlY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NTozNTogZXJyb3I6IOKAmFJURV9CQkRF Vl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogIG9wLT5zdGF0dXMg fD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6MzI6IGVycm9yOiBpbnZhbGlkIG9wZXJh bmRzIHRvIGJpbmFyeSA8PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICrigJkpCiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRF X0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fiBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6MTM6IGVycm9yOiBpbnZh bGlkIG9wZXJhbmRzIHRvIGJpbmFyeSB8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYY29uc3Qgc3Ry dWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSkKICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVu ZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgXn4gfn5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NToyOiBlcnJvcjogc3RhdGVtZW50IHdp dGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICBvcC0+c3RhdHVzIHw9IHJzcC5l bmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19v bmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzY3Nzo0 NDogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VS Uk9S4oCZPwogICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9C QkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM2Nzc6NDE6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRz IHRvIGJpbmFyeSA8PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJk ZXZfb3BfY2FwICrigJkpCiAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEg PDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjM2Nzc6MTQ6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSB8IChoYXZlIOKAmGlu dOKAmSBhbmQg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSkKICAgb3AtPnN0 YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9S KSA6IDApOwogICAgICAgICAgICAgIF5+IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzozNjc3OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51 c2VkLXZhbHVlXQogICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZG1hX2Rlc2NfZmZ0X2ZpbGzigJk6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo0NDogZXJyb3I6IOKA mFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkfigJk/ CiAgYm9vbCB3aW5fZW4gPSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywgUlRFX0JCREVWX0ZG VF9ERVdJTkRPV0lORyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9GRlRfV0lORE9XSU5HCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo0NDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBv ZiDigJhjaGVja19iaXTigJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNh c3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6ODowLAogICAgICAgICAgICAgICAgIGZyb20gLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoyMjoKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvYWNjX2NvbW1vbi5oOjY5MToxOiBub3RlOiBleHBlY3RlZCDigJh1aW50MzJfdCB7YWth IHVuc2lnbmVkIGludH3igJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmQogY2hlY2tfYml0KHVpbnQzMl90IGJpdG1hcCwgdWludDMy X3QgYml0bWFzaykKIF5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQwMTY6MTg6IGVycm9yOiDigJhSVEVfQkJERVZfTUFYX0NT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9NQVhf Q1NfMuKAmT8KICBmb3IgKGkgPSAwOyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9N QVhfQ1NfMgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6MTY6IGVy cm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KICBm b3IgKGkgPSAwOyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJf ZW5xdWV1ZV9mZnRfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQwNDk6MTY6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV04oCZOyBkaWQgeW91IG1lYW4g4oCYd2lu ZG93X2luZGV44oCZPwogIHdpbiA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICB3aW5kb3dfaW5k ZXgKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDQ5OjMzOiBlcnJvcjog 4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lv bj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIHdpbiA9 IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6NjogZXJyb3I6IGFzc2lnbm1lbnQgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogIHdpbiA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNTM6MjM6IGVycm9yOiDigJhz dHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93 aW5nX2lucHV04oCZOyBkaWQgeW91IG1lYW4g4oCYd2luZG93X2luZGV44oCZPwogIHdpbl9vZmZz ZXQgPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd19pbmRl eAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNTM6NDA6IGVycm9yOiDi gJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9u PuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgd2luX29m ZnNldCA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0OwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDUzOjEz OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEg Y2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICB3aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdp bmRvd2luZ19pbnB1dC5vZmZzZXQ7CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3Di gJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE0MjozNTogZXJyb3I6 IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwog IG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJP UgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxNDI6MzI6IGVycm9yOiBp bnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0 IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkpCiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5l X2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgIH5+fn5+fn5+ fn5+fn5+fiBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxNDI6MTM6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSB8IChoYXZlIOKAmGludOKAmSBhbmQg 4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSkKICBvcC0+c3RhdHVzIHw9IHJz cC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgXn4g fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE0MjoyOiBlcnJvcjog c3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICBvcC0+c3Rh dHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjI4OiBlcnJvcjog4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjE1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiAgZmN3LT5ucmIgPSBvcC0+bWxkdHMubnVtX3JiczsKICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjE1OiBlcnJvcjogcmVxdWVzdCBm b3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5p b24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjIyOiBlcnJvcjog 4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lv bj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIGZjdy0+ bnJiID0gb3AtPm1sZHRzLm51bV9yYnM7CiAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAg ICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQx OTQ6MTE6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhv dXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGZjdy0+bnJiID0gb3AtPm1sZHRz Lm51bV9yYnM7CiAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQxOTU6MTk6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29t ZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGZjdy0+TkxheWVycyA9IG9wLT5tbGR0 cy5udW1fbGF5ZXJzIC0gMTsKICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NToyNjogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRl X2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsg ZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBmY3ctPk5MYXllcnMgPSBvcC0+bWxkdHMu bnVtX2xheWVycyAtIDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAg ICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5 NToxNTogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91 dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZmN3LT5OTGF5ZXJzID0gb3AtPm1s ZHRzLm51bV9sYXllcnMgLSAxOwogICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE5NjoxODogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJht bGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgZmN3LT5RbW9k MCA9IChvcC0+bWxkdHMucV9tWzBdID4+IDEpIC0gMTsKICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk2OjI1OiBlcnJvcjog4oCYKGNv bnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkg aXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIGZjdy0+UW1vZDAg PSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICAgICAgICAgICAgICBe CiAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQxOTY6MzM6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA+PiAo aGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcOKAmSBhbmQg4oCYaW504oCZKQog IGZjdy0+UW1vZDAgPSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+fn5+fn5+IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDE5NjoxMzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIg d2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZmN3LT5RbW9kMCA9IChv cC0+bWxkdHMucV9tWzBdID4+IDEpIC0gMTsKICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk3OjE4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVy IOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBmY3ct PlFtb2QxID0gKG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiDi gJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9u PuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgZmN3LT5R bW9kMSA9IChvcC0+bWxkdHMucV9tWzFdID4+IDEpIC0gMTsKICAgICAgICAgICAgICAgICAgICAg ICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDE5NzozMzogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5 ID4+IChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2Fw4oCZIGFuZCDigJhpbnTi gJkpCiAgZmN3LT5RbW9kMSA9IChvcC0+bWxkdHMucV9tWzFdID4+IDEpIC0gMTsKICAgICAgICAg ICAgICAgIH5+fn5+fn5+fn5+fn5+fn4gXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MTk3OjEzOiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9p bnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBmY3ctPlFtb2Qx ID0gKG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MTg6IGVycm9yOiByZXF1ZXN0IGZvciBt ZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgog IGZjdy0+UW1vZDIgPSAob3AtPm1sZHRzLnFfbVsyXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5ODoyNTogZXJy b3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJl c3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBm Y3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21bMl0gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAg ICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk4OjMzOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBi aW5hcnkgPj4gKGhhdmUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXDigJkgYW5kIOKA mGludOKAmSkKICBmY3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21bMl0gPj4gMSkgLSAxOwogICAg ICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fiBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQxOTg6MTM6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJv bSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGZjdy0+ UW1vZDIgPSAob3AtPm1sZHRzLnFfbVsyXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToxODogZXJyb3I6IHJlcXVlc3Qg Zm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVu aW9uCiAgZmN3LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+IDEpIC0gMTsKICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk5OjI1 OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMt ZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZ PwogIGZjdy0+UW1vZDMgPSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7CiAgICAgICAgICAg ICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTk6MzM6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRz IHRvIGJpbmFyeSA+PiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcOKAmSBh bmQg4oCYaW504oCZKQogIGZjdy0+UW1vZDMgPSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7 CiAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE5OToxMzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdl ciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAg ZmN3LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+IDEpIC0gMTsKICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjAxOjg6IGVycm9yOiByZXF1 ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBv ciB1bmlvbgogIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAyKSB7CiAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjAxOjE1OiBlcnJvcjog4oCYKGNv bnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkg aXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIGlmIChvcC0+bWxk dHMubnVtX2xheWVycyA9PSAyKSB7CiAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgLT4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjAxOjI3OiBlcnJvcjogY29t cGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGludGVnZXIgWy1XZXJyb3JdCiAgaWYgKG9wLT5t bGR0cy5udW1fbGF5ZXJzID09IDIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA1Ojg6IGVycm9yOiByZXF1ZXN0 IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1 bmlvbgogIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAzKQogICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNToxNTogZXJyb3I6IOKAmChjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEg cG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBpZiAob3AtPm1sZHRzLm51 bV9sYXllcnMgPT0gMykKICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAtPgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDU6Mjc6IGVycm9yOiBjb21wYXJpc29u IGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KICBpZiAob3AtPm1sZHRzLm51 bV9sYXllcnMgPT0gMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjE2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVt YmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBm Y3ctPlJyZXAgPSBvcC0+bWxkdHMucl9yZXA7CiAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDc6MjM6IGVycm9yOiDigJgoY29uc3Qgc3Ry dWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBv aW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgZmN3LT5ScmVwID0gb3AtPm1s ZHRzLnJfcmVwOwogICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAg ICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDc6MTI6IGVycm9y OiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFst V2Vycm9yPWludC1jb252ZXJzaW9uXQogIGZjdy0+UnJlcCA9IG9wLT5tbGR0cy5yX3JlcDsKICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDg6MTY6 IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBh IHN0cnVjdHVyZSBvciB1bmlvbgogIGZjdy0+Q3JlcCA9IG9wLT5tbGR0cy5jX3JlcDsKICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwODoy MzogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3Vz LWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKA mT8KICBmY3ctPkNyZXAgPSBvcC0+bWxkdHMuY19yZXA7CiAgICAgICAgICAgICAgICAgICAgICAg XgogICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIwODoxMjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBv aW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZmN3LT5DcmVw ID0gb3AtPm1sZHRzLmNfcmVwOwogICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjEzOjMzOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIHZyYjJfZG1h X2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZG1hX2Rlc2NfbWxk dHNfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI2Ojg6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjY6ODogZXJyb3I6 IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0 dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNjox NTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3Vz LWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKA mT8KICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgICAgICAgICAgXgogICAgICAgICAg ICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjY6MjI6IGVy cm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KICBp ZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI3OjU6IGVycm9yOiByZXF1ZXN0IGZvciBt ZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgog ICBvcC0+bWxkdHMucl9yZXAgPSA1OwogICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDIyNzoxMjogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBt ZWFuIHRvIHVzZSDigJgtPuKAmT8KICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgICAgICAg XgogICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy Mjc6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFs dWVdCiAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIyODo4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz 4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpZiAob3AtPm1sZHRz Lm51bV9sYXllcnMgPCAyKQogICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIyODoxNTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFu IHRvIHVzZSDigJgtPuKAmT8KICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICAg ICAgICAgICBeCiAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIyODoyNzogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBp bnRlZ2VyIFstV2Vycm9yXQogIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjI5OjU6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRo aW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7 CiAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI5OjEyOiBl cnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhw cmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwog ICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgICAgICAgIF4KICAgICAgICAgICAgLT4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI5OjM6IGVycm9yOiBzdGF0 ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvcC0+bWxkdHMu bnVtX2xheWVycyA9IDI7CiAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzMDo4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0 aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMg PiA0KQogICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIz MDoxNTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25l b3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgt PuKAmT8KICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPiA0KQogICAgICAgICAgICAgICBeCiAg ICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIz MDoyNzogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vy cm9yXQogIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMxOjU6IGVy cm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0 cnVjdHVyZSBvciB1bmlvbgogICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMxOjEyOiBlcnJvcjog4oCYKGNv bnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkg aXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogICBvcC0+bWxkdHMu bnVtX2xheWVycyA9IDQ7CiAgICAgICAgICAgIF4KICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMxOjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBu byBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvcC0+bWxkdHMubnVtX2xheWVycyA9 IDQ7CiAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMjoyMDog ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEg c3RydWN0dXJlIG9yIHVuaW9uCiAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJz OyBpKyspCiAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjMyOjI3OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3Bf Y2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1l YW4gdG8gdXNlIOKAmC0+4oCZPwogIGZvciAoaSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVy czsgaSsrKQogICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMjoxNjog ZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQog IGZvciAoaSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzM6MjM6IGVycm9y OiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgogICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzMzozMDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8 ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVz ZSDigJgtPuKAmT8KICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt PgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzM6MTg6IGVycm9yOiBp bnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSArIChoYXZlIOKAmGludOKAmSBhbmQg4oCYY29uc3Qg c3RydWN0IHJ0ZV9iYmRldl9vcF9jYXDigJkpCiAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0 cy5xX21baV07CiAgICAgICAgICAgICAgICAgIF5+IH5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMzOjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0 aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvdXRzaXplX3Blcl9yZSArPSBv cC0+bWxkdHMucV9tW2ldOwogICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMzQ6MTM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxk dHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHNjX251bSA9IG9w LT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsg MSk7CiAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzQ6MjA6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVy cm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug 4oCYLT7igJk/CiAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJS QiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAg ICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0 OjMxOiBlcnJvcjog4oCYUlRFX0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0NSQ19FUlJPUuKA mT8KICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9w LT5tbGR0cy5jX3JlcCArIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9DUkNf RVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjI5OiBlcnJv cjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRl X2JiZGV2X29wX2NhcCAq4oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq 4oCZKQogIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAo b3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgICAgICAgfn4gICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6NTQ6IGVycm9yOiByZXF1ZXN0 IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1 bmlvbgogIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAo b3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzNDo2MTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8 ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVz ZSDigJgtPuKAmT8KICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BF UlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjQ5OiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0 byBiaW5hcnkgKiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIGFu ZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZKQogIHNjX251bSA9IG9wLT5t bGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7 CiAgICAgICAgICAgfn4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MzQ6OTogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91 dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgc2NfbnVtID0gb3AtPm1sZHRzLm51 bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6MTI6IGVycm9y OiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgogIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVy X3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjE5OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBk aWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMg KiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgICAgICAgICAgICAg IF4KICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIzNTo1MTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBz b21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgcl9udW0gPSBvcC0+bWxkdHMubnVt X3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6NTg6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7 IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3Ji cyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjQ4OiBlcnJvcjogYXJyYXkgc3Vic2Ny aXB0IGlzIG5vdCBhbiBpbnRlZ2VyCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2Zh Y3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIzNToyODogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg 4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBhbmQg4oCYY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSkKICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2Nf ZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgICAgICB+fiAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNTo4OiBlcnJv cjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBb LVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2Nf ZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzY6MjY6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1i ZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHFf c2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwog ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNjozMzogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFu IHRvIHVzZSDigJgtPuKAmT8KICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9s YXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMzY6MjM6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQgaXMgbm90IGFu IGludGVnZXIKICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAy XSAqIHNjX251bTsKICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIzNjo1MDogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmlu YXJ5ICogKGhhdmUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBhbmQg4oCY dWludDMyX3Qge2FrYSB1bnNpZ25lZCBpbnR94oCZKQogIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtv cC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICAgICAgIH5+fn5+fn5+fn5+ fiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjM2Ojk6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJvbSBw b2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIHFfc2l6ZSA9 IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICAg ICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzoyNjogZXJyb3I6 IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0 dXJlIG9yIHVuaW9uCiAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJz IC0gMl0gKiByX251bTsKICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6MzM6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50 ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgcl9zaXplID0gcnNpemVfcGVyX3Jl W29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6MjM6IGVycm9yOiBhcnJheSBzdWJz Y3JpcHQgaXMgbm90IGFuIGludGVnZXIKICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM3OjUwOiBlcnJvcjogaW52YWxpZCBv cGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAq4oCZIGFuZCDigJh1aW50MzJfdCB7YWthIHVuc2lnbmVkIGludH3igJkpCiAgcl9zaXplID0g cnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgICAg ICB+fn5+fn5+fn5+fn4gICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzo5OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBp bnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lv bl0KICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJf bnVtOwogICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIy MToxMTogZXJyb3I6IHZhcmlhYmxlIOKAmHNjX2ZhY3Rvcl9wZXJfcnJlcOKAmSBzZXQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHNjX2Zh Y3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsK ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjIwOjExOiBlcnJvcjogdmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNl dCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgdWludDE2 X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAg ICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjE5OjExOiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVz ZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgdWludDE2X3QgcXNpemVfcGVy X3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICov CiAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjY4OjM2OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIHZyYjJfY2hlY2tfbWxkX3Jf Y29uc3RyYWludChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCkgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9jaGVja19tbGRfcl9j b25zdHJhaW504oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6 ODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogIGlmIChvcC0+bWxkdHMuY19yZXAgPT0gMCkKICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6ODogZXJy b3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3Ry dWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3 NToxNTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25l b3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgt PuKAmT8KICBpZiAob3AtPm1sZHRzLmNfcmVwID09IDApCiAgICAgICAgICAgICAgIF4KICAgICAg ICAgICAgICAgLT4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NzowOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyNzg6MjQ6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRo aW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1s ZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MTE6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogICB0eXBlb2YgKGEpIF9hID0gKGEpOyBc CiAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6 MzE6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91 cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7i gJk/CiAgbGF5ZXJfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxE X01JTl9MQVlFUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2VhbC9p bmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MTE6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYUlRFX01JTuKAmQogICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MjQ6IGVycm9yOiByZXF1ZXN0 IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1 bmlvbgogIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01M RF9NSU5fTEFZRVIsCiAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRl L3J0ZV9jb21tb24uaDo2MTU6MjA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRF X01JTuKAmQogICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiDigJgo Y29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKA mSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgbGF5ZXJfaWR4 ID0gUlRFX01JTihvcC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21t b24uaDo2MTU6MjA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQog ICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNzo2OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHBv aW50ZXIgYW5kIGludGVnZXIgWy1XZXJyb3JdCiAgIF9hIDwgX2IgPyBfYSA6IF9iOyBcCiAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjE0OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIGxheWVyX2lkeCA9IFJURV9NSU4o b3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgICAgICAgICAg Xn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNzoxNjogZXJyb3I6IHBv aW50ZXIvaW50ZWdlciB0eXBlIG1pc21hdGNoIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gWy1X ZXJyb3JdCiAgIF9hIDwgX2IgPyBfYSA6IF9iOyBcCiAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODoxNDogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5u dW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICAgICAgICAgIF5+fn5+fn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjEyOiBlcnJvcjogYXNzaWdu bWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1p bnQtY29udmVyc2lvbl0KICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJz IC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6MDoKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjIzOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVt YmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBy cmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYx NToxMTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgIHR5cGVv ZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI4MDozMDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBt ZWFuIHRvIHVzZSDigJgtPuKAmT8KICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVw LCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v bGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MTE6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYUlRFX01JTuKAmQogICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MjM6IGVycm9y OiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgogIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJf TUxEX01BWF9SUkVQKTsKICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfY29tbW9uLmg6NjE1OjIwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJU RV9NSU7igJkKICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJvcjog4oCY KGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7i gJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIHJyZXBfaWR4 ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYx NToyMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgIHR5cGVv ZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfY29tbW9uLmg6NjE1OjE5OiBlcnJvcjogaW52YWxpZCBpbml0aWFsaXplcgogICB0eXBl b2YgKGEpIF9hID0gKGEpOyBcCiAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDoxMzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmFJURV9NSU7igJkKICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIy X01MRF9NQVhfUlJFUCk7CiAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6NjE3OjY6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQg aW50ZWdlciBbLVdlcnJvcl0KICAgX2EgPCBfYiA/IF9hIDogX2I7IFwKICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MTM6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5y X3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICAgICAgICAgXn5+fn5+fgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNzoxNjogZXJyb3I6IHBvaW50ZXIvaW50ZWdlciB0eXBl IG1pc21hdGNoIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gWy1XZXJyb3JdCiAgIF9hIDwgX2Ig PyBfYSA6IF9iOyBcCiAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI4MDoxMzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9N SU7igJkKICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhf UlJFUCk7CiAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDI4MDoxMTogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBv aW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgcnJlcF9pZHgg PSBSVEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg0OjEyOiBlcnJvcjog cmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1 cmUgb3IgdW5pb24KICByZXR1cm4gKG9wLT5tbGR0cy5udW1fcmJzIDw9IG1heF9yYltsYXllcl9p ZHhdW3JyZXBfaWR4XSk7CiAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI4NDoxOTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBt ZWFuIHRvIHVzZSDigJgtPuKAmT8KICByZXR1cm4gKG9wLT5tbGR0cy5udW1fcmJzIDw9IG1heF9y YltsYXllcl9pZHhdW3JyZXBfaWR4XSk7CiAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAg ICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODQ6Mjg6 IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0K ICByZXR1cm4gKG9wLT5tbGR0cy5udW1fcmJzIDw9IG1heF9yYltsYXllcl9pZHhdW3JyZXBfaWR4 XSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI4OTo1MjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiBlbnF1ZXVl X21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKm9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uIOKAmGVucXVldWVfbWxkdHNfc3BsaXRfb3DigJk6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDoxNDogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA0OjE0OiBlcnJvcjog cmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1 cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA0OjIx OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMt ZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZ PwogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgICAgICAgICAgICAg ICAgIF4KICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzA0OjMxOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3Bf Y2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1l YW4gdG8gdXNlIOKAmC0+4oCZPwogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDQ6MTA6 IGVycm9yOiBhc3NpZ25tZW50IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICBpbnB1dF9xID0gb3AtPm1sZHRzLnFoeV9p bnB1dC5kYXRhOwogICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMDU6MTQ6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29t ZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGlucHV0X3IgPSBvcC0+bWxkdHMucl9p bnB1dC5kYXRhOwogICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFu IHRvIHVzZSDigJgtPuKAmT8KICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAg ICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDU6Mjk6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50 ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgaW5wdXRfciA9IG9wLT5tbGR0cy5y X2lucHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMwNToxMDogZXJyb3I6IGFzc2lnbm1lbnQgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBl IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIGlucHV0X3IgPSBvcC0+bWxk dHMucl9pbnB1dC5kYXRhOwogICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMDY6MTM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIG91dHB1dCA9IG9wLT5tbGR0 cy5vdXRwdXQuZGF0YTsKICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMwNjoyMDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBt ZWFuIHRvIHVzZSDigJgtPuKAmT8KICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAg ICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNjoyNzogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRl cjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0 cHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2Ojk6 IGVycm9yOiBhc3NpZ25tZW50IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0 LmRhdGE7CiAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzA3OjE2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lu cHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMwNzoyMzogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBt ZWFuIHRvIHVzZSDigJgtPuKAmT8KICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9m ZnNldDsKICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgLT4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA3OjMzOiBlcnJvcjog4oCY KGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7i gJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIGluX29mZnNl dCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0OwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNzoxMjogZXJyb3I6IGFzc2lnbm1lbnQgbWFr ZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZl cnNpb25dCiAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjE3OiBlcnJv cjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1 Y3R1cmUgb3IgdW5pb24KICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzA4OjI0OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJv bmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKA mC0+4oCZPwogIG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgICAg ICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDg6MzE6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50 ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgb3V0X29mZnNldCA9IG9wLT5tbGR0 cy5vdXRwdXQub2Zmc2V0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzA4OjEzOiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9p bnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBvdXRfb2Zmc2V0 ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwOToxNTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJl ciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgbnVt X3N5bXMgPSBvcC0+bWxkdHMuY19yZXAgKyAxOwogICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDk6MjI6IGVycm9yOiDigJgoY29uc3Qgc3Ry dWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBv aW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgbnVtX3N5bXMgPSBvcC0+bWxk dHMuY19yZXAgKyAxOwogICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAg ICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA5OjExOiBlcnJv cjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBb LVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBudW1fc3ltcyA9IG9wLT5tbGR0cy5jX3JlcCArIDE7 CiAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTE6 MjI6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKA mSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBv aW50ZXItdHlwZXNdCiAgdnJiMl9mY3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjox OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiB2cmIy X2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNj X2Zjd19tbGR0cyAqZmN3KQogXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMTU6ODogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJht bGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgaWYgKG9wLT5t bGR0cy5yX3JlcCA+IDUpCiAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzE1OjE1OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2Fw ICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4g dG8gdXNlIOKAmC0+4oCZPwogIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICAgICAgICAg ICBeCiAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMxNToyMjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2Vy IFstV2Vycm9yXQogIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTY6NTogZXJyb3I6 IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0 dXJlIG9yIHVuaW9uCiAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE2OjEyOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2lu dGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogICBvcC0+bWxkdHMucl9yZXAgPSA1 OwogICAgICAgICAgICBeCiAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMxNjozOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vy cm9yPXVudXNlZC12YWx1ZV0KICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3Ojg6IGVycm9yOiByZXF1ZXN0IGZvciBt ZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgog IGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3OjE1OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBy dGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVy OyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIGlmIChvcC0+bWxkdHMubnVtX2xheWVy cyA8IDIpCiAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3OjI3OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVu IHBvaW50ZXIgYW5kIGludGVnZXIgWy1XZXJyb3JdCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJz IDwgMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMTg6NTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0 c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG9wLT5tbGR0cy5u dW1fbGF5ZXJzID0gMjsKICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMTg6MTI6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikm PGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1 c2Ug4oCYLT7igJk/CiAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgICAgICAgXgog ICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTg6 MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVd CiAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzE5Ojg6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxk dHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGlmIChvcC0+bWxk dHMubnVtX2xheWVycyA+IDQpCiAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzE5OjE1OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3Bf Y2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1l YW4gdG8gdXNlIOKAmC0+4oCZPwogIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAg ICAgICAgICAgIF4KICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzE5OjI3OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5k IGludGVnZXIgWy1XZXJyb3JdCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMjA6NTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21l dGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0g NDsKICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6MTI6 IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1l eHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/ CiAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgICAgICAgXgogICAgICAgICAgICAt PgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6MzogZXJyb3I6IHN0 YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAgIG9wLT5tbGR0 cy5udW1fbGF5ZXJzID0gNDsKICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzIyOjIwOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNv bWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1s ZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjI6Mjc6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50 ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgZm9yIChpID0gMDsgaSA8IG9wLT5t bGR0cy5udW1fbGF5ZXJzOyBpKyspCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzIyOjE2OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGludGVn ZXIgWy1XZXJyb3JdCiAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKysp CiAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMyMzoyMzogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhp bmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0 cy5xX21baV07CiAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzIzOjMwOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJk ZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQg eW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMu cV9tW2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMy MzoxODogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICsgKGhhdmUg4oCYdWludDMy X3Qge2FrYSB1bnNpZ25lZCBpbnR94oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcOKAmSkKICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAgICAgICAg ICAgICAgICAgXn4gfn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMjM6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJv cj11bnVzZWQtdmFsdWVdCiAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAg IF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMy NDoxMzogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0c+KAmSBpbiBzb21ldGhpbmcg bm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBS VEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAgZm9yY2VkIHRvIHplcm8uICovCiAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MjA6IGVycm9y OiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNz aW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAgc2Nf bnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAgZm9y Y2VkIHRvIHplcm8uICovCiAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAg IC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDozMTogZXJyb3I6 IOKAmFJURV9CQkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiAgc2NfbnVt ID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAgZm9yY2Vk IHRvIHplcm8uICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6Mjk6IGVycm9yOiBpbnZh bGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICrigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkpCiAg c2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAg Zm9yY2VkIHRvIHplcm8uICovCiAgICAgICAgICAgfn4gICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6OTogZXJyb3I6IGFzc2lnbm1lbnQg bWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNv bnZlcnNpb25dCiAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJS QjsgLyogQyByZXAgZm9yY2VkIHRvIHplcm8uICovCiAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjEyOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVy IOKAmG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICByX251 bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3Jl cF07CiAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMyNToxOTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJy b25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDi gJgtPuKAmT8KICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVw W29wLT5tbGR0cy5yX3JlcF07CiAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAg ICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6NTE6IGVycm9y OiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgogIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVy X3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzI1OjU4OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxl cnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNl IOKAmC0+4oCZPwogIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3Jy ZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMyNTo0ODogZXJyb3I6IGFycmF5IHN1YnNjcmlwdCBpcyBub3QgYW4gaW50ZWdl cgogIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1s ZHRzLnJfcmVwXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6Mjg6IGVycm9y OiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICrigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICri gJkpCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+ bWxkdHMucl9yZXBdOwogICAgICAgICAgfn4gICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6ODogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMg aW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNp b25dCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+ bWxkdHMucl9yZXBdOwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzI2OjI2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNv bWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVb b3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6MzM6IGVy cm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHBy ZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAg cV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI2 OjIzOiBlcnJvcjogYXJyYXkgc3Vic2NyaXB0IGlzIG5vdCBhbiBpbnRlZ2VyCiAgcV9zaXplID0g cXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz MjY6NTA6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0 IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkgYW5kIOKAmHVpbnQzMl90IHtha2EgdW5zaWdu ZWQgaW50feKAmSkKICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMg LSAyXSAqIHNjX251bTsKICAgICAgICAgICB+fn5+fn5+fn5+fn4gICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNjo5OiBl cnJvcjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2Fz dCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1s ZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjc6MjY6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg 4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHJfc2l6 ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzI3OjMzOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICop JjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8g dXNlIOKAmC0+4oCZPwogIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVy cyAtIDJdICogcl9udW07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzI3OjIzOiBlcnJvcjogYXJyYXkgc3Vic2NyaXB0IGlzIG5vdCBhbiBpbnRl Z2VyCiAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBy X251bTsKICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMyNzo1MDogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICog KGhhdmUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBhbmQg4oCYdWludDMy X3Qge2FrYSB1bnNpZ25lZCBpbnR94oCZKQogIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxk dHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgICAgICAgfn5+fn5+fn5+fn5+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMjc6OTogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIg d2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgcl9zaXplID0gcnNpemVf cGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTE6IGVycm9yOiB2YXJpYWJs ZSDigJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVz ZWQtYnV0LXNldC12YXJpYWJsZV0KICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9N TERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MzoxMTog ZXJyb3I6IHZhcmlhYmxlIOKAmHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vy cm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIy X01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MjoxMTogZXJyb3I6IHZhcmlh YmxlIOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1i dXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0la RV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo1MDogZXJyb3I6IOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBs aXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVj bGFyYXRpb24gWy1XZXJyb3JdCiBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVl ICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZW5xdWV1ZV9tbGR0 c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4Mjox NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0 LmRhdGE7CiAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzgyOjE0OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGluIHNv bWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzgyOjIxOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91 IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRh dGE7CiAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjMxOiBlcnJvcjog4oCYKGNvbnN0 IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMg YSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIGlucHV0X3EgPSBvcC0+ bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzODI6MTA6IGVycm9yOiBhc3NpZ25tZW50IGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICBpbnB1 dF9xID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5kYXRhOwogICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6MTQ6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1i ZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGlu cHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MzoyMTogZXJyb3I6IOKAmChjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEg cG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBpbnB1dF9yID0gb3AtPm1s ZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAg ICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6Mjk6IGVy cm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHBy ZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAg aW5wdXRfciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MzoxMDogZXJyb3I6IGFzc2lnbm1lbnQgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODQ6MTM6IGVycm9yOiByZXF1ZXN0IGZv ciBtZW1iZXIg4oCYbWxkdHPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlv bgogIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NDoyMDogZXJyb3I6IOKAmChjb25z dCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlz IGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBvdXRwdXQgPSBvcC0+ bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAg ICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NDoyNzogZXJy b3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJl c3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBv dXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mzg0Ojk6IGVycm9yOiBhc3NpZ25tZW50IGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICBvdXRw dXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjE2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKA mG1sZHRz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpbl9vZmZz ZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NToyMzogZXJyb3I6IOKAmChjb25z dCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlz IGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICBpbl9vZmZzZXQgPSBv cC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAg ICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0Mzg1OjMzOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxl cnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNl IOKAmC0+4oCZPwogIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0OwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NToxMjog ZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNh c3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9p bnB1dC5vZmZzZXQ7CiAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0Mzg2OjE3OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmG1sZHRz4oCZIGlu IHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBvdXRfb2Zmc2V0ID0gb3AtPm1s ZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg2OjI0OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBk aWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogIG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0 cHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAg ICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODY6MzE6IGVy cm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHBy ZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiAg b3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg2OjEzOiBlcnJvcjogYXNzaWdubWVudCBt YWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29u dmVyc2lvbl0KICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4ODoyMjogZXJy b3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZyb20g aW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10 eXBlc10KICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjE6IG5vdGU6 IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQg aXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIHZyYjJfZmN3X21s ZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21s ZHRzICpmY3cpCiBefn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM4OToyNzogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIy X2RtYV9kZXNjX21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFst V2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIHZyYjJfZG1hX2Rlc2NfbWxkdHNf ZmlsbChvcCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwgb3V0cHV0LAogICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMTM6MTogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZ IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mQogdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9w LAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0NDAxOjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNs YXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9m IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICAgc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9u IOKAmHZyYjJfZW5xdWV1ZV9tbGR0c+KAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NDE1OjQzOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfY2hl Y2tfbWxkX3JfY29uc3RyYWludOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1X ZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgIGFzX29uZV9vcCA9IHZyYjJfY2hl Y2tfbWxkX3JfY29uc3RyYWludChvcHNbaV0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDI2ODoxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkg YnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZ CiB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3ApIHsKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQ0MTY6Mzk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKICAgZGVzY3Nf aW5fb3AgPSBhc19vbmVfb3AgPyAxIDogb3BzW2ldLT5tbGR0cy5jX3JlcCArIDE7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDQxNjozOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhtbGR0 c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjo0NjogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRl cjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KICAgZGVzY3NfaW5fb3AgPSBhc19vbmVf b3AgPyAxIDogb3BzW2ldLT5tbGR0cy5jX3JlcCArIDE7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0 MTY6MzE6IGVycm9yOiBwb2ludGVyL2ludGVnZXIgdHlwZSBtaXNtYXRjaCBpbiBjb25kaXRpb25h bCBleHByZXNzaW9uIFstV2Vycm9yXQogICBkZXNjc19pbl9vcCA9IGFzX29uZV9vcCA/IDEgOiBv cHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE2OjE1OiBlcnJvcjogYXNz aWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJv cj1pbnQtY29udmVyc2lvbl0KICAgZGVzY3NfaW5fb3AgPSBhc19vbmVfb3AgPyAxIDogb3BzW2ld LT5tbGR0cy5jX3JlcCArIDE7CiAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NDI2OjM0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKA mGVucXVldWVfbWxkdHNfb25lX29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBb LVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgIHJldCA9IGVucXVldWVfbWxk dHNfb25lX29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDM3MToxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkg YnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZ CiBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQyODozNjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBv ZiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0X29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIg dHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgIHJldCA9IGVucXVl dWVfbWxkdHNfc3BsaXRfb3AocSwgb3BzW2ldLCBlbnF1ZXVlZF9kZXNjcyk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyODk6MTogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKuKAmQogZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6MzE6IGVycm9yOiDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxs IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9u IFstV2Vycm9yXQogICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICoqcmVmX29wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9u IOKAmGRlcXVldWVfbWxkdHNfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0OTk6NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogIG9wLT5zdGF0dXMgPSAw OwogICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDk5OjQ6IGVy cm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYc3RhdHVz4oCZIGluIHNvbWV0aGluZyBub3QgYSBz dHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NDk5OjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZh bHVlXQogIG9wLT5zdGF0dXMgPSAwOwogIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDUwNTo1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKAmHN0YXR1c+KAmSBp biBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG9wLT5zdGF0dXMgfD0gcnNw LmlucHV0X2VyciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsKICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDU6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5v IGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAgIG9wLT5zdGF0dXMgfD0gcnNwLmlucHV0 X2VyciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsKICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NTA2OjU6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg4oCYc3Rh dHVz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICAgb3AtPnN0YXR1 cyB8PSByc3AuZG1hX2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNjozOiBlcnJvcjogc3RhdGVtZW50IHdp dGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICAgb3AtPnN0YXR1cyB8PSByc3Au ZG1hX2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDc6NTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhz dGF0dXPigJkgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogICBvcC0+c3Rh dHVzIHw9IHJzcC5mY3dfZXJyIDw8IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA3OjM6IGVycm9yOiBzdGF0ZW1lbnQg d2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvcC0+c3RhdHVzIHw9IHJz cC5mY3dfZXJyIDw8IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODo1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyIOKA mHN0YXR1c+KAmSBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG9wLT5z dGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjM2OiBlcnJvcjog 4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAg IG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VS Uk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODozMzogZXJyb3I6 IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IDw8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYY29u c3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSkKICAgb3AtPnN0YXR1cyB8PSByc3AuZW5n aW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgICB+fn5+ fn5+fn5+fn5+fn4gXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4 OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVl XQogICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SOwogICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTE6ODog ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciDigJhzdGF0dXPigJkgaW4gc29tZXRoaW5nIG5vdCBh IHN0cnVjdHVyZSBvciB1bmlvbgogIGlmIChvcC0+c3RhdHVzICE9IDApCiAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTEzOjg6IGVycm9yOiByZXF1ZXN0 IGZvciBtZW1iZXIg4oCYc3RhdHVz4oCZIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3Ig dW5pb24KICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9EUlZfRVJST1IpKQogICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMzoxNzogZXJy b3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICYgKGhhdmUg4oCYY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAgKuKAmSBhbmQg4oCYaW504oCZKQogIGlmIChvcC0+c3RhdHVzICYgKDEg PDwgUlRFX0JCREVWX0RSVl9FUlJPUikpCiAgICAgIH5+ICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUzMToxMDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3Jd CiAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbWxkdHPigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU0Mjo0MTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQg MyBvZiDigJhkZXF1ZXVlX21sZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVy IHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgIHJldCA9IGRlcXVl dWVfbWxkdHNfb25lX29wKHFfZGF0YSwgcSwgJm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAmYXFfZGVx dWV1ZWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU0OjE6IG5vdGU6IGV4cGVjdGVkIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKuKAmQogZGVxdWV1ZV9tbGR0c19vbmVfb3Ao c3RydWN0IHJ0ZV9iYmRldl9xdWV1ZV9kYXRhICpxX2RhdGEsCiBefn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2 cmJfYmJkZXZfaW5pdOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NTczOjc6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV24oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYZW5xdWV1ZV9tbGR0c19vcHPigJk7IGRpZCB5b3UgbWVhbiDigJhlbnF1ZXVlX2RlY19vcHPi gJk/CiAgZGV2LT5lbnF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9tbGR0czsKICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICBlbnF1ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTczOjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBl ZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogIGRldi0+ZW5xdWV1ZV9tbGR0c19vcHMgPSB2 cmIyX2VucXVldWVfbWxkdHM7CiAgXn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDU3NDo3OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVy IG5hbWVkIOKAmGRlcXVldWVfbWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1lYW4g4oCYZGVxdWV1ZV9k ZWNfb3Bz4oCZPwogIGRldi0+ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVldWVfbWxkdHM7 CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICAgZGVxdWV1ZV9kZWNfb3BzCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU3NDoyOiBlcnJvcjogc3RhdGVtZW50IHdp dGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICBkZXYtPmRlcXVldWVfbWxkdHNf b3BzID0gdnJiMl9kZXF1ZXVlX21sZHRzOwogIF5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwpbMjI1MS8yNzgyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2V2ZW50X29jdGVvbnR4LmEucC9ldmVudF9vY3Rlb250eF9zc292Zl93b3JrZXIu Yy5vClsyMjUyLzI3ODJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFz ZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4LmMubwpbMjI1My8y NzgyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2V2ZW50X29jdGVvbnR4 LmEucC9ldmVudF9vY3Rlb250eF9zc292Zl9ldmRldl9zZWxmdGVzdC5jLm8KWzIyNTQvMjc4Ml0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhX2x0ZV9m ZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlY19mcGdhX2x0ZV9mZWMuYy5vClsyMjU1LzI3ODJd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBnYV81Z25y X2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV81Z25yX2ZlY19ydGVfZnBnYV81Z25yX2ZlYy5jLm8KWzIy NTYvMjc4Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fb2N0 ZW9udHguYS5wL2NyeXB0b19vY3Rlb250eF9vdHhfY3J5cHRvZGV2X29wcy5jLm8KWzIyNTcvMjc4 Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAv Y3J5cHRvX2NueGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8KWzIyNTgvMjc4Ml0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9udWxsLmEucC9iYXNlYmFuZF9u dWxsX2JiZGV2X251bGwuYy5vClsyMjU5LzI3ODJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX2FjYzEwMF9wbWQu Yy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxMjoKT1M6IENCTC1N YXJpbmVyMi4wLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBk cml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9w bWQuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucCAtSWRyaXZl cnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFuZC9hY2MgLUkuLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4u L2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwv bGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2lu Y2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIv ZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9r dmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4u L2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUku Li9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlkcml2ZXJzL2J1cy9wY2kg LUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvcGNp IC1JLi4vbGliL3BjaSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBy dGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5v bmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3Np bmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdw b2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAt V3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQt bm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVu Z3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBF UklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIuYWNjIC1NRCAtTVEgZHJpdmVycy9saWJ0 bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAtTUYg ZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJf cG1kLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5k X2FjY19ydGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAn dnJiX3F1ZXVlX3NldHVwJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzox MDM3OjM2OiBlcnJvcjogJ1JURV9CQkRFVl9PUF9NTERUUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogMTAz NyB8ICAgICAgICAgZWxzZSBpZiAoY29uZi0+b3BfdHlwZSA9PSAgUlRFX0JCREVWX09QX01MRFRT KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzozNjog bm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZv ciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9wcmludF9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NTozMTogZXJyb3I6ICdSVEVfQkJERVZfT1BfTUxEVFMn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdS VEVfQkJERVZfT1BfRkZUJz8KIDEwOTUgfCAgICAgICAgIH0gZWxzZSBpZiAob3BfdHlwZSA9PSBS VEVfQkJERVZfT1BfTUxEVFMpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfT1BfRkZUCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjIyOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjEwOTk6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVy cywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFf QVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5OTo2NjogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogMTA5OSB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21s ZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdy dGVfYmJkZXZfbG9nJwogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MTEwMDo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogMTEwMCB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLnJfcmVwLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92 cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9iYmRldl9s b2cnCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMTAxOjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AnCiAxMTAxIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyAncnRlX2JiZGV2X2xvZycKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1Nf XykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6NjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDExMDEgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1s ZHRzLm9wX2ZsYWdzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92 cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9iYmRldl9s b2cnCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9kZXZfaW5mb19nZXQnOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6MzM6IGVycm9yOiAnUlRFX0JCREVWX0xEUENfSEFSUV80 QklUX0NPTVBSRVNTSU9OJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7 IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJz8KIDEz MzIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFf NEJJVF9DT01QUkVTU0lPTiB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lP TgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6MzU6IGVycm9yOiAn UlRFX0JCREVWX09QX01MRFRTJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/CiAxMzY2IHwgICAgICAgICAgICAg ICAgICAgICAgICAgLnR5cGUgICA9IFJURV9CQkRFVl9PUF9NTERUUywKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY5OjQ5OiBlcnJvcjogJ1JURV9CQkRFVl9N TERUU19SRVAnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogMTM2OSB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRF Vl9NTERUU19SRVAsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9mY3dfbGRfZmlsbCc6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTk3Mjo1MzogZXJyb3I6ICdSVEVfQkJERVZfTERQ Q19IQVJRXzRCSVRfQ09NUFJFU1NJT04nIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJ T04nPwogMTk3MiB8ICAgICAgICAgfSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxkcGNfZGVjLm9w X2ZsYWdzLCBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZC SVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24gJ3ZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfY2InOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjMzNzM6NTA6IGVycm9yOiAnUlRFX0JCREVWX0VOR0lORV9FUlJP UicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g J1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAzMzczIHwgICAgICAgICBvcC0+c3RhdHVzIHw9ICgo cnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2RlcXVldWVfbGRwY19l bmNfb25lX29wX3RiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1 OjQyOiBlcnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1In PwogMzQyNSB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JC REVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfZW5j X29uZV9vcF90Yic6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQ5Mzo1 ODogZXJyb3I6ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8K IDM0OTMgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykg PyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9kZXF1ZXVlX2RlY19vbmVf b3BfY2InOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6NDI6IGVy cm9yOiAnUlRFX0JCREVWX0VOR0lORV9FUlJPUicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAzNTQw IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5H SU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZGVxdWV1ZV9sZHBjX2RlY19v bmVfb3BfY2InOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6NDI6 IGVycm9yOiAnUlRFX0JCREVWX0VOR0lORV9FUlJPUicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAz NTk1IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZf RU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZGVxdWV1ZV9kZWNfb25l X29wX3RiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNjc3OjU4OiBl cnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogMzY3 NyB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgx IDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9kbWFfZGVzY19mZnRfZmlsbCc6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo1MTogZXJyb3I6ICdS VEVfQkJERVZfRkZUX0RFV0lORE9XSU5HJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcnPwogMzk5MCB8 ICAgICAgICAgYm9vbCB3aW5fZW4gPSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywgUlRFX0JC REVWX0ZGVF9ERVdJTkRPV0lORyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRkZUX1dJTkRPV0lORwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQw MTY6MjU6IGVycm9yOiAnUlRFX0JCREVWX01BWF9DUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9NQVhfQ1NfMic/CiA0MDE2 IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUFYX0NTXzIKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9lbnF1ZXVlX2ZmdF9vbmVfb3AnOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6MjI6IGVycm9yOiAnc3Ry dWN0IHJ0ZV9iYmRldl9vcF9mZnQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2Rld2luZG93aW5nX2lu cHV0JwogNDA0OSB8ICAgICAgICAgd2luID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5kYXRh OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MDUzOjI5OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfb3BfZmZ0JyBo YXMgbm8gbWVtYmVyIG5hbWVkICdkZXdpbmRvd2luZ19pbnB1dCcKIDQwNTMgfCAgICAgICAgIHdp bl9vZmZzZXQgPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfZmZ0X29uZV9vcCc6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE0Mjo0MjogZXJyb3I6ICdSVEVfQkJERVZfRU5H SU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KIDQxNDIgfCAgICAgICAgIG9wLT5zdGF0 dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQx OTI6Mjg6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFyZWQgaW5zaWRl IHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmlu aXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNfZmls bChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMgKmZj dykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJf ZmN3X21sZHRzX2ZpbGwnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQx OTQ6MjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQxOTQgfCAgICAgICAgIGZjdy0+bnJiID0gb3AtPm1sZHRzLm51bV9y YnM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MTk1OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MTk1IHwgICAgICAgICBmY3ctPk5M YXllcnMgPSBvcC0+bWxkdHMubnVtX2xheWVycyAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Njoy NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJwogNDE5NiB8ICAgICAgICAgZmN3LT5RbW9kMCA9IChvcC0+bWxkdHMucV9tWzBd ID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQxOTcgfCAgICAg ICAgIGZjdy0+UW1vZDEgPSAob3AtPm1sZHRzLnFfbVsxXSA+PiAxKSAtIDE7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MTk4OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MTk4IHwgICAgICAgICBmY3ctPlFtb2QyID0gKG9wLT5t bGR0cy5xX21bMl0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToyNTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwog NDE5OSB8ICAgICAgICAgZmN3LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+IDEpIC0gMTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMDE6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMDEgfCAgICAgICAgIGlmIChvcC0+ bWxkdHMubnVtX2xheWVycyA9PSAyKSB7CiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDU6MTU6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMDUgfCAg ICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAzKQogICAgICB8ICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjIzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnCiA0MjA3IHwgICAgICAgICBmY3ctPlJyZXAgPSBvcC0+bWxkdHMucl9yZXA7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIwODoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIwOCB8ICAgICAgICAgZmN3LT5DcmVwID0gb3AtPm1s ZHRzLmNfcmVwOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxMzozMzogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJs ZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQy MTMgfCB2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g J3ZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIyNjoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIyNiB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5y X3JlcCA+IDUpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMjc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMjcgfCAgICAgICAgICAgICAgICAg b3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjg6MTU6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMjggfCAg ICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjk6MTk6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCcKIDQyMjkgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIzMDoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzMCB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1f bGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIzMToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzMSB8ICAgICAgICAgICAgICAg ICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMyOjI3OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0 MjMyIHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIzMzozNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzMyB8ICAgICAgICAgICAgICAg ICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1s ZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjM0OjM4OiBlcnJvcjogJ1JURV9CQkRFVl9TQ1BFUlJCJyB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0NS Q19FUlJPUic/CiA0MjM0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJU RV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDo2MTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDIz NCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJS QiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzUgfCAgICAgICAgIHJf bnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJf cmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMzU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyMzUgfCAgICAgICAgIHJfbnVtID0g b3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzY6MzM6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCcKIDQyMzYgfCAgICAgICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMu bnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM3OjMz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnCiA0MjM3IHwgICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIxOjE4 OiBlcnJvcjogdmFyaWFibGUgJ3NjX2ZhY3Rvcl9wZXJfcnJlcCcgc2V0IGJ1dCBub3QgdXNlZCBb LVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjEgfCAgICAgICAgIHVpbnQxNl90 IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAw LCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjA6MTg6IGVycm9yOiB2YXJpYWJsZSAn cnNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZh cmlhYmxlXQogNDIyMCB8ICAgICAgICAgdWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xB WV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTk6MTg6IGVycm9y OiB2YXJpYWJsZSAncXNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNl ZC1idXQtc2V0LXZhcmlhYmxlXQogNDIxOSB8ICAgICAgICAgdWludDE2X3QgcXNpemVfcGVyX3Jl W1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICovCiAg ICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyNjg6MzY6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjY4IHwgdnJi Ml9jaGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g J3ZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI3NToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDI3NSB8ICAgICAgICAgaWYgKG9wLT5tbGR0 cy5jX3JlcCA9PSAwKQogICAgICB8ICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NzoKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mjc4IHwgICAgICAg ICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlO X0xBWUVSLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvICdSVEVfTUlOJwogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEp OyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQyNzggfCAgICAgICAgIGxheWVy X2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIs CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNs dWRlL3J0ZV9jb21tb24uaDo2MTU6MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ1JU RV9NSU4nCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDI4MCB8ICAgICAgICAgcnJl cF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0 ZV9jb21tb24uaDo2MTU6MjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4n CiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDI4MCB8ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlO KG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6 MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgNjE1IHwgICAgICAg ICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDI4NDoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogNDI4NCB8ICAgICAgICAgcmV0dXJuIChvcC0+bWxkdHMubnVtX3Ji cyA8PSBtYXhfcmJbbGF5ZXJfaWR4XVtycmVwX2lkeF0pOwogICAgICB8ICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZl bDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5OjUyOiBlcnJvcjog J3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlz dCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xh cmF0aW9uIFstV2Vycm9yXQogNDI4OSB8IGVucXVldWVfbWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFj Y19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9u ICdlbnF1ZXVlX21sZHRzX3NwbGl0X29wJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzA0OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzA0IHwgICAgICAgICBpbnB1dF9xID0gb3AtPm1s ZHRzLnFoeV9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA1OjIxOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzA1IHwg ICAgICAgICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMw NjoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wJwogNDMwNiB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5k YXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMDc6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMDcgfCAgICAgICAgIGluX29mZnNl dCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDg6MjQ6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCcKIDQzMDggfCAgICAgICAgIG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNl dDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDMwOToyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMwOSB8ICAgICAgICAgbnVtX3N5 bXMgPSBvcC0+bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxMToyOTogZXJyb3I6IHBh c3NpbmcgYXJndW1lbnQgMSBvZiAndnJiMl9mY3dfbWxkdHNfZmlsbCcgZnJvbSBpbmNvbXBhdGli bGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDMx MSB8ICAgICAgICAgdnJiMl9mY3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4 OiBub3RlOiBleHBlY3RlZCAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJyBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJwogNDE5MiB8IHZyYjJf ZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2Nf ZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz MTU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQzMTUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQog ICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzE2OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzE2IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5y X3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzE3IHwgICAgICAgICBpZiAo b3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE4OjE5OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0MzE4IHwg ICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTk6 MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCcKIDQzMTkgfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQp CiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMjA6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjAgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRz Lm51bV9sYXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMyMiB8ICAgICAg ICAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKyspCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMjM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjMgfCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9w ZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz MjQ6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcKIDQzMjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJz ICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8 ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMjQ6Mzg6IGVycm9yOiAnUlRFX0JCREVWX1NDUEVSUkInIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfQ1JDX0VSUk9S Jz8KIDQzMjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVW X1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNToxOTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMyNSB8 ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtv cC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDMyNSB8ICAgICAg ICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxk dHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMyNjozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wJwogNDMyNiB8ICAgICAgICAgcV9zaXplID0gcXNpemVfcGVyX3Jl W29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMjc6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzMjcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXplX3Blcl9y ZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyOTQ6MTg6IGVycm9yOiB2YXJpYWJsZSAnc2NfZmFjdG9yX3Blcl9ycmVwJyBzZXQgYnV0 IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5NCB8ICAgICAg ICAgdWludDE2X3Qgc2NfZmFjdG9yX3Blcl9ycmVwW1ZSQjJfTUxEX1JSRVBfU0laRV0gPSB7MTIs IDYsIDQsIDMsIDAsIDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MzoxODogZXJyb3I6 IHZhcmlhYmxlICdyc2l6ZV9wZXJfcmUnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2Vk LWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkzIHwgICAgICAgICB1aW50MTZfdCByc2l6ZV9wZXJfcmVb VlJCMl9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwgNDJ9OwogICAgICB8ICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5 MjoxODogZXJyb3I6IHZhcmlhYmxlICdxc2l6ZV9wZXJfcmUnIHNldCBidXQgbm90IHVzZWQgWy1X ZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkyIHwgICAgICAgICB1aW50MTZfdCBx c2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExheWVyIDIg dG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo1MDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlz aWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0K IDQzNzEgfCBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICdlbnF1ZXVlX21sZHRzX29uZV9v cCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MjoyMTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w JwogNDM4MiB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDM4MzoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICdz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDM4MyB8ICAgICAgICAgaW5wdXRfciA9IG9wLT5t bGR0cy5yX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODQ6MjA6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQzODQgfCAg ICAgICAgIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjIz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AnCiA0Mzg1IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0 Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg2OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0Mzg2IHwgICAgICAgICBv dXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODg6 Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2YgJ3ZyYjJfZmN3X21sZHRzX2ZpbGwnIGZy b20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRl ci10eXBlc10KIDQzODggfCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDE5Mjo0ODogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicK IDQxOTIgfCB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9w LCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0Mzg5OjM0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mICd2cmIyX2Rt YV9kZXNjX21sZHRzX2ZpbGwnIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODkgfCAgICAgICAgIHZyYjJfZG1hX2Rl c2NfbWxkdHNfZmlsbChvcCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwgb3V0cHV0LAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6NTM6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wIConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wIConCiA0MjEzIHwgdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDQwMToyNDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJyBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0MDEgfCAgICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2VucXVldWVfbWxk dHMnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTU6NjA6IGVycm9y OiBwYXNzaW5nIGFyZ3VtZW50IDEgb2YgJ3ZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludCcgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogNDQxNSB8ICAgICAgICAgICAgICAgICBhc19vbmVfb3AgPSB2cmIyX2NoZWNrX21s ZF9yX2NvbnN0cmFpbnQob3BzW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI2ODo1Njogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKicKIDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NDE2OjUzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0NDE2IHwgICAgICAgICAgICAgICAgIGRlc2NzX2lu X29wID0gYXNfb25lX29wID8gMSA6IG9wc1tpXS0+bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MjY6NTg6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDIgb2YgJ2VucXVldWVfbWxkdHNfb25lX29wJyBmcm9tIGluY29tcGF0aWJsZSBw b2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI2IHwg ICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19vbmVfb3AocSwgb3Bz W2ldLCBlbnF1ZXVlZF9kZXNjcyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzNzE6NzA6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICon IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiA0 MzcxIHwgZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI4OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVu dCAyIG9mICdlbnF1ZXVlX21sZHRzX3NwbGl0X29wJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVy IHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI4IHwgICAgICAg ICAgICAgICAgICAgICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChxLCBvcHNbaV0s IGVucXVldWVkX2Rlc2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDI4OTo3Mjogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKicK IDQyODkgfCBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NDU6IGVycm9yOiAnc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJy b3JdCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ2RlcXVldWVfbWxkdHNfb25lX29w JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDk5OjExOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3An CiA0NDk5IHwgICAgICAgICBvcC0+c3RhdHVzID0gMDsKICAgICAgfCAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA1OjE5OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiA0NTA1 IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmlucHV0X2VyciA8PCBSVEVfQkJE RVZfREFUQV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDY6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKIDQ1MDYgfCAgICAgICAg ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZG1hX2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9S OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDUwNzoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogNDUwNyB8ICAgICAgICAgICAgICAgICBvcC0+ c3RhdHVzIHw9IHJzcC5mY3dfZXJyIDw8IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NTA4OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AnCiA0NTA4IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNw LmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjUw OiBlcnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwog NDUwOCB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBS VEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9F VkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTE6MTU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCcKIDQ1MTEgfCAgICAgICAgIGlmIChvcC0+c3RhdHVzICE9IDApCiAgICAgIHwgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTM6 MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCcKIDQ1MTMgfCAgICAgICAgIGlmIChvcC0+c3RhdHVzICYgKDEgPDwgUlRFX0JC REVWX0RSVl9FUlJPUikpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDUzMToyNDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBv dXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ1MzEg fCAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2 X3QgbnVtKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIy X2RlcXVldWVfbWxkdHMnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1 NDI6NTU6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2YgJ2RlcXVldWVfbWxkdHNfb25lX29w JyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBv aW50ZXItdHlwZXNdCiA0NTQyIHwgICAgICAgICAgICAgICAgIHJldCA9IGRlcXVldWVfbWxkdHNf b25lX29wKHFfZGF0YSwgcSwgJm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAmYXFfZGVxdWV1ZWQpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NjY6IG5vdGU6IGV4cGVjdGVk ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAn c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKicKIDQ0NTUgfCAgICAgICAgICAgICAgICAgc3Ry dWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKnJlZl9vcCwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiAndnJiX2JiZGV2X2luaXQnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQ1NzM6MTQ6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldicgaGFzIG5vIG1l bWJlciBuYW1lZCAnZW5xdWV1ZV9tbGR0c19vcHMnOyBkaWQgeW91IG1lYW4gJ2VucXVldWVfZGVj X29wcyc/CiA0NTczIHwgICAgICAgICBkZXYtPmVucXVldWVfbWxkdHNfb3BzID0gdnJiMl9lbnF1 ZXVlX21sZHRzOwogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8 ICAgICAgICAgICAgICBlbnF1ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0NTc0OjE0OiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXYnIGhhcyBubyBtZW1i ZXIgbmFtZWQgJ2RlcXVldWVfbWxkdHNfb3BzJzsgZGlkIHlvdSBtZWFuICdkZXF1ZXVlX2RlY19v cHMnPwogNDU3NCB8ICAgICAgICAgZGV2LT5kZXF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZGVxdWV1 ZV9tbGR0czsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAg ICAgICAgICAgICAgZGVxdWV1ZV9kZWNfb3BzCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzClsyMjQ3LzI3NjNdIExpbmtpbmcgdGFyZ2V0IGRyaXZlcnMvbGlicnRlX2V2 ZW50X3N3LnNvLjIzLjIKWzIyNDgvMjc2M10gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9jcnlwdG9f b2N0ZW9udHguc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24g dG8gY2FwdHVyZSBvdXRwdXQpClsyMjQ5LzI3NjNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfZXZlbnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nzb3ZmX2V2ZGV2 X3NlbGZ0ZXN0LmMubwpbMjI1MC8yNzYzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX2Jhc2ViYW5kX2xhMTJ4eC5hLnAvYmFzZWJhbmRfbGExMnh4X2JiZGV2X2xhMTJ4eC5j Lm8KWzIyNTEvMjc2M10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9ldmVu dF9vY3Rlb250eC5hLnAvZXZlbnRfb2N0ZW9udHhfc3NvdmZfd29ya2VyLmMubwpbMjI1Mi8yNzYz XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2FfbHRl X2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV9sdGVfZmVjX2ZwZ2FfbHRlX2ZlYy5jLm8KWzIyNTMvMjc2 M10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9udWxsLmEu cC9iYXNlYmFuZF9udWxsX2JiZGV2X251bGwuYy5vClsyMjU0LzI3NjNdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBnYV81Z25yX2ZlYy5hLnAvYmFzZWJh bmRfZnBnYV81Z25yX2ZlY19ydGVfZnBnYV81Z25yX2ZlYy5jLm8KWzIyNTUvMjc2M10gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5k X2FjY19ydGVfYWNjMTAwX3BtZC5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBG YWlsZWQgIzEzOgpPUzogVUIyMDA0LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9h Y2NfcnRlX3ZyYl9wbWQuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNj LmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFuZC9hY2MgLUkuLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRldiAtSS4gLUkuLiAt SWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVk ZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxp Yi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21t b24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJn cyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3Rl bGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGli L21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlkcml2 ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGlu dXggLUlsaWIvcGNpIC1JLi4vbGliL3BjaSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9G SUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1P MyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0 IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0 aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRl ZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlw ZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIg LVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAt V25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUg LURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIuYWNjIC1NRCAtTVEg ZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJf cG1kLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRf YWNjX3J0ZV92cmJfcG1kLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2Mu YS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJ biBmdW5jdGlvbiDigJh2cmJfcXVldWVfc2V0dXDigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MTAzNzoyOTogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhS VEVfQkJERVZfT1BfRkZU4oCZPwogMTAzNyB8ICBlbHNlIGlmIChjb25mLT5vcF90eXBlID09ICBS VEVfQkJERVZfT1BfTUxEVFMpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVf QkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzoy OTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX3ByaW50X29w4oCZOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6MjQ6IGVycm9yOiDigJhSVEVfQkJERVZf T1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KIDEwOTUgfCAgfSBlbHNlIGlmIChvcF90 eXBlID09IFJURV9CQkRFVl9PUF9NTERUUykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBSVEVf QkJERVZfT1BfRkZUCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjIyOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjEwOTk6MTM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMDk5IHwgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJz LCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgfCAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAjI19fVkFfQVJHU19fKQogICAg ICB8ICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjEwOTk6Mzg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMDk5IHwgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJz LCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4 OjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAx OCB8ICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAwOjEzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMCB8ICAg ICBvcF9tbGR0cy0+bWxkdHMucl9yZXAsCiAgICAgIHwgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAg ICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAx OjEzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21s ZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAg Xn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjM2 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRz LT5tbGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAjI19fVkFf QVJHU19fKQogICAgICB8ICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGV2X2luZm9fZ2V04oCZOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6NTogZXJyb3I6IOKAmFJURV9CQkRF Vl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRf Q09NUFJFU1NJT07igJk/CiAxMzMyIHwgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01Q UkVTU0lPTiB8CiAgICAgIHwgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY2OjEyOiBlcnJvcjog4oCYUlRFX0JC REVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMzY2IHwgICAgLnR5cGUgPSBS VEVfQkJERVZfT1BfTUxEVFMsCiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzoxMzY5Ojc6IGVycm9yOiDigJhSVEVfQkJERVZfTUxEVFNfUkVQ4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogMTM2OSB8ICAgICAgIFJU RV9CQkRFVl9NTERUU19SRVAsCiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MDM6MjI6IGVycm9yOiBhcnJheSBz dWJzY3JpcHQgaXMgbm90IGFuIGludGVnZXIKIDE0MDMgfCAgZGV2X2luZm8tPm51bV9xdWV1ZXNb UlRFX0JCREVWX09QX01MRFRTXSA9IGQtPmFjY19jb25mLnFfbWxkLm51bV9hcXNfcGVyX2dyb3Vw cyAqCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjE0MDM6MjogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBb LVdlcnJvcj11bnVzZWQtdmFsdWVdCiAxNDAzIHwgIGRldl9pbmZvLT5udW1fcXVldWVzW1JURV9C QkRFVl9PUF9NTERUU10gPSBkLT5hY2NfY29uZi5xX21sZC5udW1fYXFzX3Blcl9ncm91cHMgKgog ICAgICB8ICBefn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0 MTA6MjY6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQgaXMgbm90IGFuIGludGVnZXIKIDE0MTAgfCAg ZGV2X2luZm8tPnF1ZXVlX3ByaW9yaXR5W1JURV9CQkRFVl9PUF9NTERUU10gPSBkLT5hY2NfY29u Zi5xX21sZC5udW1fcWdyb3VwczsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MTA6MjogZXJyb3I6IHN0YXRl bWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAxNDEwIHwgIGRldl9p bmZvLT5xdWV1ZV9wcmlvcml0eVtSVEVfQkJERVZfT1BfTUxEVFNdID0gZC0+YWNjX2NvbmYucV9t bGQubnVtX3Fncm91cHM7CiAgICAgIHwgIF5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MTQxMjozMjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVy IGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogMTQxMiB8ICBmb3IgKGkgPSBSVEVfQkJERVZfT1BfTk9O RTsgaSA8PSBSVEVfQkJERVZfT1BfTUxEVFM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiMl9mY3dfbGRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzoxOTcyOjQ2OiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFSUV80 QklUX0NPTVBSRVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTuKA mT8KIDE5NzIgfCAgfSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLCBS VEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTk3Mjo0NjogZXJyb3I6IHBhc3NpbmcgYXJn dW1lbnQgMiBvZiDigJhjaGVja19iaXTigJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0 aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6OCwKICAgICAgICAgICAgICAgICBm cm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MjI6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL2FjY19jb21tb24uaDo2OTE6Mzc6IG5vdGU6IGV4cGVjdGVkIOKAmHVpbnQz Ml904oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDi gJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZCiAgNjkxIHwgY2hlY2tfYml0KHVp bnQzMl90IGJpdG1hcCwgdWludDMyX3QgYml0bWFzaykKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+fn5efn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfY2LigJk6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzM3Mzo0MzogZXJyb3I6IOKAmFJU RV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzM3MyB8 ICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjMzNzM6NDA6IGVycm9yOiBpbnZhbGlkIG9wZXJh bmRzIHRvIGJpbmFyeSA8PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICrigJkpCiAzMzczIHwgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1 bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzM3MzoxMzogZXJyb3I6IGludmFsaWQgb3Bl cmFuZHMgdG8gYmluYXJ5IHwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRl X2JiZGV2X29wX2NhcCAq4oCZKQogMzM3MyB8ICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9o dW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAg ICAgICAgXn4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MzM3MzoyOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12 YWx1ZV0KIDMzNzMgfCAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBS VEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbGRwY19l bmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0 MjU6MzU6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVO VF9FUlJPUuKAmT8KIDM0MjUgfCAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRF X0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzozNDI1OjMyOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5h cnkgPDwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAq4oCZKQogMzQyNSB8ICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJE RVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fiBe fgogICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICoK ICAgICAgfCAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyOjEKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1OjEzOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0 byBiaW5hcnkgfCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICrigJkpCiAzNDI1IHwgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgXn4gfn5+CiAgICAgIHwg ICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1 OjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVl XQogMzQyNSB8ICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5H SU5FX0VSUk9SOwogICAgICB8ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NDQ6IGVycm9yOiDigJhSVEVfQkJE RVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM0OTMgfCAgIG9w LT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjQxOiBlcnJvcjogaW52YWxpZCBvcGVyYW5k cyB0byBiaW5hcnkgPDwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2Ji ZGV2X29wX2NhcCAq4oCZKQogMzQ5MyB8ICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVu ZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjE0OiBlcnJvcjogaW52YWxpZCBv cGVyYW5kcyB0byBiaW5hcnkgfCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBy dGVfYmJkZXZfb3BfY2FwICrigJkpCiAzNDkzIHwgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2lu ZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAg ICAgICAgICAgIF5+IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MzQ5MzozOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVu dXNlZC12YWx1ZV0KIDM0OTMgfCAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8g KDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVl X2RlY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MzU0MDozNTogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VW RU5UX0VSUk9S4oCZPwogMzU0MCB8ICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBS VEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6MzI6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJp bmFyeSA8PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3Bf Y2FwICrigJkpCiAzNTQwIHwgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9C QkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+ IF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgICAgfCAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAg KgogICAgICB8ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXI6MQouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6MTM6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRz IHRvIGJpbmFyeSB8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRl dl9vcF9jYXAgKuKAmSkKIDM1NDAgfCAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwg UlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICBefiB+fn4KICAgICAg fCAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1 NDA6MjogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFs dWVdCiAzNTQwIHwgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9F TkdJTkVfRVJST1I7CiAgICAgIHwgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2xkcGNfZGVjX29uZV9vcF9jYuKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjM1OiBlcnJvcjog4oCY UlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNTk1 IHwgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJS T1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MzU5NTozMjogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IDw8IChoYXZlIOKAmGlu dOKAmSBhbmQg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSkKIDM1OTUgfCAg b3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsK ICAgICAgfCAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn4gXn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgY2hhcjoxCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MzU5NToxMzogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IHwgKGhhdmUg 4oCYaW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZKQogMzU5 NSB8ICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SOwogICAgICB8ICAgICAgICAgICAgIF5+IH5+fgogICAgICB8ICAgICAgICAgICAgICAgIHwK ICAgICAgfCAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NToyOiBlcnJvcjogc3RhdGVt ZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KIDM1OTUgfCAgb3AtPnN0 YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAg fCAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g 4oCYdnJiX2RlcXVldWVfZGVjX29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzozNjc3OjQ0OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNjc3IHwgICBvcC0+c3RhdHVzIHw9ICgocnNw LmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6MzY3Nzo0MTogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IDw8ICho YXZlIOKAmGludOKAmSBhbmQg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSkK IDM2NzcgfCAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JC REVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MzY3NzoxNDogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5 IHwgKGhhdmUg4oCYaW504oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq 4oCZKQogMzY3NyB8ICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBS VEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICBefiB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9v cF9jYXAgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM2Nzc6MzogZXJy b3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAzNjc3 IHwgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9F TkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RtYV9kZXNjX2ZmdF9maWxs4oCZOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM5OTA6NDQ6IGVycm9yOiDigJhS VEVfQkJERVZfRkZUX0RFV0lORE9XSU5H4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9GRlRfV0lORE9XSU5H4oCZPwog Mzk5MCB8ICBib29sIHdpbl9lbiA9IGNoZWNrX2JpdChvcC0+ZmZ0Lm9wX2ZsYWdzLCBSVEVfQkJE RVZfRkZUX0RFV0lORE9XSU5HKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRkZUX1dJTkRPV0lO RwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM5OTA6NDQ6IGVycm9yOiBw YXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYY2hlY2tfYml04oCZIG1ha2VzIGludGVnZXIgZnJvbSBw b2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjgsCiAgICAgICAg ICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjIyOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9hY2NfY29tbW9uLmg6NjkxOjM3OiBub3RlOiBleHBlY3Rl ZCDigJh1aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0gYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmQogIDY5MSB8IGNo ZWNrX2JpdCh1aW50MzJfdCBiaXRtYXAsIHVpbnQzMl90IGJpdG1hc2spCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+Xn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6MTg6IGVycm9yOiDigJhSVEVfQkJERVZfTUFYX0NT4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9NQVhfQ1NfMuKAmT8KIDQwMTYgfCAgZm9yIChpID0gMDsgaSA8IFJURV9CQkRF Vl9NQVhfQ1M7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9NQVhfQ1NfMgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6MTY6IGVycm9yOiBjb21wYXJpc29uIGJldHdl ZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KIDQwMTYgfCAgZm9yIChpID0gMDsgaSA8 IFJURV9CQkRFVl9NQVhfQ1M7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9lbnF1ZXVl X2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA0 OToxNTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ04oCZIGhhcyBubyBtZW1iZXIg bmFtZWQg4oCYZGV3aW5kb3dpbmdfaW5wdXTigJkKIDQwNDkgfCAgd2luID0gb3AtPmZmdC5kZXdp bmRvd2luZ19pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6MzM6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50 ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MDQ5IHwgIHdpbiA9IG9wLT5mZnQu ZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA0OTo2OiBlcnJvcjogYXNzaWdubWVu dCB0byDigJhzdHJ1Y3QgcnRlX21idWYgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBbLVdlcnJvcj1pbmNvbXBh dGlibGUtcG9pbnRlci10eXBlc10KIDQwNDkgfCAgd2luID0gb3AtPmZmdC5kZXdpbmRvd2luZ19p bnB1dC5kYXRhOwogICAgICB8ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQwNTM6MjI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV04oCZCiA0MDUzIHwgIHdpbl9vZmZz ZXQgPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA1Mzo0 MDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3Vz LWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKA mT8KIDQwNTMgfCAgd2luX29mZnNldCA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0 OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNTM6MTM6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKA mHVpbnQzMl904oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZfSBmcm9tIOKAmGNvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwICrigJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91 dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiA0MDUzIHwgIHdpbl9vZmZzZXQgPSBv cC0+ZmZ0LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9k ZXF1ZXVlX2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDE0MjozNTogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVW X0VWRU5UX0VSUk9S4oCZPwogNDE0MiB8ICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8 PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxNDI6MzI6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRv IGJpbmFyeSA8PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICrigJkpCiA0MTQyIHwgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+ fn5+IF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICAgICAgfCAg ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9j YXAgKgogICAgICB8ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXI6MQouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxNDI6MTM6IGVycm9yOiBpbnZhbGlkIG9wZXJh bmRzIHRvIGJpbmFyeSB8IChoYXZlIOKAmGludOKAmSBhbmQg4oCYY29uc3Qgc3RydWN0IHJ0ZV9i YmRldl9vcF9jYXAgKuKAmSkKIDQxNDIgfCAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcg PDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICBefiB+fn4KICAg ICAgfCAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQxNDI6MjogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQt dmFsdWVdCiA0MTQyIHwgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRF Vl9FTkdJTkVfRVJST1I7CiAgICAgIHwgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MTkyOjI4OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNs YXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9m IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQxOTIgfCB2cmIyX2Zj d19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zj d19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5j dGlvbiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQxOTQ6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk0IHwgIGZjdy0+bnJiID0gb3At Pm1sZHRzLm51bV9yYnM7CiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6MjI6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7 IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MTk0IHwgIGZjdy0+bnJiID0gb3AtPm1s ZHRzLm51bV9yYnM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDE5NDoxMTogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYc2hvcnQgdW5zaWduZWQgaW50OjEz4oCZ IGZyb20g4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBtYWtlcyBpbnRlZ2Vy IGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KIDQx OTQgfCAgZmN3LT5ucmIgPSBvcC0+bWxkdHMubnVtX3JiczsKICAgICAgfCAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTU6MTk6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MTk1IHwgIGZjdy0+TkxheWVycyA9IG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMTsKICAgICAg fCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQxOTU6MjY6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikm PGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1 c2Ug4oCYLT7igJk/CiA0MTk1IHwgIGZjdy0+TkxheWVycyA9IG9wLT5tbGR0cy5udW1fbGF5ZXJz IC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQxOTU6MTU6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHVuc2lnbmVkIGNoYXI6MuKAmSBmcm9t IOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkgbWFrZXMgaW50ZWdlciBmcm9t IHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiA0MTk1IHwg IGZjdy0+TkxheWVycyA9IG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMTsKICAgICAgfCAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk2OjE4OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDE5NiB8ICBmY3ctPlFtb2QwID0gKG9wLT5tbGR0cy5xX21bMF0gPj4gMSkg LSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MTk2OjI1OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91 IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDE5NiB8ICBmY3ctPlFtb2QwID0gKG9wLT5tbGR0cy5x X21bMF0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQxOTY6MzM6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA+PiAo aGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcOKAmSBhbmQg4oCYaW504oCZKQog NDE5NiB8ICBmY3ctPlFtb2QwID0gKG9wLT5tbGR0cy5xX21bMF0gPj4gMSkgLSAxOwogICAgICB8 ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn4gXn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQxOTY6MTM6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHVuc2lnbmVkIGNoYXI6MuKA mSBmcm9tIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkgbWFrZXMgaW50ZWdl ciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiA0 MTk2IHwgIGZjdy0+UW1vZDAgPSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAgIHwg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTc6 MTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0MTk3IHwgIGZjdy0+UW1vZDEgPSAob3AtPm1sZHRzLnFfbVsxXSA+ PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9i YmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRp ZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MTk3IHwgIGZjdy0+UW1vZDEgPSAob3AtPm1s ZHRzLnFfbVsxXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDE5NzozMzogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5 ID4+IChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2Fw4oCZIGFuZCDigJhpbnTi gJkpCiA0MTk3IHwgIGZjdy0+UW1vZDEgPSAob3AtPm1sZHRzLnFfbVsxXSA+PiAxKSAtIDE7CiAg ICAgIHwgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fiBefgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDE5NzoxMzogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYdW5zaWduZWQgY2hh cjoy4oCZIGZyb20g4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBtYWtlcyBp bnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lv bl0KIDQxOTcgfCAgZmN3LT5RbW9kMSA9IChvcC0+bWxkdHMucV9tWzFdID4+IDEpIC0gMTsKICAg ICAgfCAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDE5ODoxODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTggfCAgZmN3LT5RbW9kMiA9IChvcC0+bWxkdHMucV9t WzJdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5ODoyNTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRl cjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQxOTggfCAgZmN3LT5RbW9kMiA9IChv cC0+bWxkdHMucV9tWzJdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk4OjMzOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBi aW5hcnkgPj4gKGhhdmUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXDigJkgYW5kIOKA mGludOKAmSkKIDQxOTggfCAgZmN3LT5RbW9kMiA9IChvcC0+bWxkdHMucV9tWzJdID4+IDEpIC0g MTsKICAgICAgfCAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+IF5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MTk4OjEzOiBlcnJvcjogYXNzaWdubWVudCB0byDigJh1bnNpZ25l ZCBjaGFyOjLigJkgZnJvbSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIG1h a2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252 ZXJzaW9uXQogNDE5OCB8ICBmY3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21bMl0gPj4gMSkgLSAx OwogICAgICB8ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MTk5OjE4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5OSB8ICBmY3ctPlFtb2QzID0gKG9wLT5tbGR0 cy5xX21bM10gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk5OjI1OiBlcnJvcjog4oCYKGNvbnN0IHN0 cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBw b2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDE5OSB8ICBmY3ctPlFtb2Qz ID0gKG9wLT5tbGR0cy5xX21bM10gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTk6MzM6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRz IHRvIGJpbmFyeSA+PiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcOKAmSBh bmQg4oCYaW504oCZKQogNDE5OSB8ICBmY3ctPlFtb2QzID0gKG9wLT5tbGR0cy5xX21bM10gPj4g MSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn4gXn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcAouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTk6MTM6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHVu c2lnbmVkIGNoYXI6MuKAmSBmcm9tIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICri gJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50 LWNvbnZlcnNpb25dCiA0MTk5IHwgIGZjdy0+UW1vZDMgPSAob3AtPm1sZHRzLnFfbVszXSA+PiAx KSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMDE6ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDEgfCAgaWYgKG9wLT5tbGR0cy5udW1f bGF5ZXJzID09IDIpIHsKICAgICAgfCAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjAxOjE1OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91 IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDIwMSB8ICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMg PT0gMikgewogICAgICB8ICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgLT4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjAxOjI3OiBlcnJvcjogY29t cGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGludGVnZXIgWy1XZXJyb3JdCiA0MjAxIHwgIGlm IChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAyKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDU6ODog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQyMDUgfCAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDMpCiAgICAg IHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNTox NTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3Vz LWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKA mT8KIDQyMDUgfCAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDMpCiAgICAgIHwgICAgICAg ICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMDU6Mjc6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRl ciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KIDQyMDUgfCAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJz ID09IDMpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDc6MTY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjA3IHwgIGZj dy0+UnJlcCA9IG9wLT5tbGR0cy5yX3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDc6MjM6IGVycm9yOiDigJgoY29u c3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBp cyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MjA3IHwgIGZjdy0+ UnJlcCA9IG9wLT5tbGR0cy5yX3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMDc6MTI6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHVuc2lnbmVkIGNo YXI6M+KAmSBmcm9tIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkgbWFrZXMg aW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNp b25dCiA0MjA3IHwgIGZjdy0+UnJlcCA9IG9wLT5tbGR0cy5yX3JlcDsKICAgICAgfCAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4OjE2OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDIwOCB8ICBmY3ctPkNyZXAgPSBvcC0+bWxkdHMuY19yZXA7CiAgICAgIHwgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4 OjIzOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVv dXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+ 4oCZPwogNDIwOCB8ICBmY3ctPkNyZXAgPSBvcC0+bWxkdHMuY19yZXA7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4OjEyOiBlcnJvcjogYXNzaWdubWVu dCB0byDigJh1bnNpZ25lZCBjaGFyOjPigJkgZnJvbSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2 X29wX2NhcCAq4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFst V2Vycm9yPWludC1jb252ZXJzaW9uXQogNDIwOCB8ICBmY3ctPkNyZXAgPSBvcC0+bWxkdHMuY19y ZXA7CiAgICAgIHwgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjEzOjMzOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyMTMgfCB2cmIyX2RtYV9k ZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kbWFfZGVz Y19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MjY6ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQyMjYgfCAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAg IHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNjox NTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3Vz LWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKA mT8KIDQyMjYgfCAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAgIHwgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMjY6MjI6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQg aW50ZWdlciBbLVdlcnJvcl0KIDQyMjYgfCAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMjc6NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjcgfCAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7 CiAgICAgIHwgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIy NzoxMjogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25l b3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgt PuKAmT8KIDQyMjcgfCAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICBe CiAgICAgIHwgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMjc6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVz ZWQtdmFsdWVdCiA0MjI3IHwgICBvcC0+bWxkdHMucl9yZXAgPSA1OwogICAgICB8ICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI4Ojg6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MjI4IHwgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyODoxNTogZXJyb3I6IOKAmChj b25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZ IGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQyMjggfCAgaWYg KG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAgICAgICAgIF4KICAgICAg fCAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIyODoyNzogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFst V2Vycm9yXQogNDIyOCB8ICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMjk6NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjkgfCAgIG9wLT5tbGR0cy5udW1fbGF5ZXJz ID0gMjsKICAgICAgfCAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjI5OjEyOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxl cnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNl IOKAmC0+4oCZPwogNDIyOSB8ICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICAgICB8ICAg ICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjI5OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1X ZXJyb3I9dW51c2VkLXZhbHVlXQogNDIyOSB8ICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwog ICAgICB8ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMwOjg6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MjMwIHwgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAg IHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMDox NTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3Vz LWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKA mT8KIDQyMzAgfCAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAg ICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIzMDoyNzogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVy IGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogNDIzMCB8ICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMg PiA0KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzE6NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzEgfCAgIG9wLT5t bGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjMxOjEyOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJk ZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQg eW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDIzMSB8ICAgb3AtPm1sZHRzLm51bV9sYXllcnMg PSA0OwogICAgICB8ICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgLT4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMxOjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0 aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogNDIzMSB8ICAgb3AtPm1sZHRzLm51 bV9sYXllcnMgPSA0OwogICAgICB8ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjMyOjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMiB8ICBmb3IgKGkgPSAwOyBpIDwgb3At Pm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMyOjI3OiBlcnJvcjog4oCYKGNv bnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkg aXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDIzMiB8ICBmb3Ig KGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMjoxNjogZXJyb3I6IGNvbXBh cmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogNDIzMiB8ICBmb3Ig KGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMzoyMzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQyMzMgfCAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDIzMzozMDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBt ZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQyMzMgfCAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0 cy5xX21baV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMzM6MTg6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAr IChoYXZlIOKAmGludOKAmSBhbmQg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXDigJkp CiA0MjMzIHwgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAg ICAgICAgICAgICAgICAgXn4gfn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcAouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMzM6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBb LVdlcnJvcj11bnVzZWQtdmFsdWVdCiA0MjMzIHwgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxk dHMucV9tW2ldOwogICAgICB8ICAgXn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjEzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNCB8ICBzY19udW0gPSBv cC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCAr IDEpOwogICAgICB8ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNDoyMDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFu IHRvIHVzZSDigJgtPuKAmT8KIDQyMzQgfCAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBS VEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6MzE6IGVycm9yOiDigJhSVEVfQkJERVZfU0NQ RVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogNDIzNCB8ICBzY19udW0gPSBvcC0+bWxk dHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6Mjk6IGVycm9yOiBpbnZh bGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICrigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkpCiA0 MjM0IHwgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAo b3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgIH5+ICAgICAgICAgICAgICAg IF4KICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCiAgICAg IHwgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICoKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjU0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNCB8ICBz Y19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0 cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjM0OjYxOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxl cnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNl IOKAmC0+4oCZPwogNDIzNCB8ICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRF Vl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6NDk6IGVycm9y OiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICrigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICri gJkpCiA0MjM0IHwgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVS UkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgIH5+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDo5OiBlcnJv cjogYXNzaWdubWVudCB0byDigJh1aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0g ZnJvbSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIG1ha2VzIGludGVnZXIg ZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogNDIz NCB8ICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9w LT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6MTI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM1IHwgIHJfbnVtID0g b3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsK ICAgICAgfCAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzNToxOTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8 ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVz ZSDigJgtPuKAmT8KIDQyMzUgfCAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rv cl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMzU6NTE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM1IHwgIHJfbnVtID0gb3AtPm1sZHRz Lm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNTo1ODogZXJyb3I6IOKAmChjb25z dCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlz IGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQyMzUgfCAgcl9udW0g PSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBd OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzU6NDg6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQgaXMgbm90IGFuIGludGVnZXIKIDQy MzUgfCAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+ bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6 Mjg6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0 cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICrigJkpCiA0MjM1IHwgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0 b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICB+fiAgICAgICAg ICAgICAgICBeCiAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAogICAgICB8ICAg ICAgICAgIHwgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICoK ICAgICAgfCAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNTo4OiBlcnJvcjogYXNzaWdubWVudCB0 byDigJh1aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0gZnJvbSDigJhjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdp dGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogNDIzNSB8ICByX251bSA9IG9w LT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAg ICAgIHwgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2 OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDIzNiB8ICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2OjMzOiBlcnJv cjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVz c2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDIz NiB8ICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNj X251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIzNjoyMzogZXJyb3I6IGFycmF5IHN1YnNjcmlwdCBpcyBub3QgYW4g aW50ZWdlcgogNDIzNiB8ICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXll cnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzY6NTA6IGVycm9yOiBpbnZhbGlkIG9w ZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2Fw ICrigJkgYW5kIOKAmHVpbnQzMl904oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZfSkKIDQyMzYg fCAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19u dW07CiAgICAgIHwgICAgICAgICAgIH5+fn5+fn5+fn5+fiAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KICAgICAgfCAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIzNjo5OiBlcnJvcjogYXNzaWdubWVudCB0byDigJh1aW50MzJfdOKAmSB7YWthIOKAmHVuc2ln bmVkIGludOKAmX0gZnJvbSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIG1h a2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252 ZXJzaW9uXQogNDIzNiB8ICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXll cnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjM3OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNyB8ICByX3NpemUgPSBy c2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMzc6MzM6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAg KikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0 byB1c2Ug4oCYLT7igJk/CiA0MjM3IHwgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMu bnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6MjM6IGVycm9yOiBhcnJheSBz dWJzY3JpcHQgaXMgbm90IGFuIGludGVnZXIKIDQyMzcgfCAgcl9zaXplID0gcnNpemVfcGVyX3Jl W29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6NTA6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwICrigJkgYW5kIOKAmHVpbnQzMl904oCZIHtha2Eg4oCYdW5zaWdu ZWQgaW504oCZfSkKIDQyMzcgfCAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1f bGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAgICAgICAgfn5+fn5+fn5+fn5+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICB8CiAgICAgIHwgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICoKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjM3Ojk6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHVpbnQzMl90 4oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZfSBmcm9tIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJk ZXZfb3BfY2FwICrigJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3Qg Wy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiA0MjM3IHwgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtv cC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMToxMTogZXJyb3I6IHZhcmlhYmxl IOKAmHNjX2ZhY3Rvcl9wZXJfcnJlcOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNl ZC1idXQtc2V0LXZhcmlhYmxlXQogNDIyMSB8ICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBb VlJCMl9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgIHwgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMjA6MTE6IGVycm9yOiB2YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBu b3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjAgfCAgdWludDE2 X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAg fCAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIxOToxMTogZXJyb3I6IHZhcmlhYmxlIOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0 IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDIxOSB8ICB1aW50 MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExh eWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjM2OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KIDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJh2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnTigJk6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3NTo4OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3NSB8 ICBpZiAob3AtPm1sZHRzLmNfcmVwID09IDApCiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3NToxNTogZXJyb3I6IOKAmChjb25zdCBzdHJ1 Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9p bnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQyNzUgfCAgaWYgKG9wLT5tbGR0 cy5jX3JlcCA9PSAwKQogICAgICB8ICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAg ICAgLT4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjI0 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDI3OCB8ICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1f bGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MTE6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgdHlwZW9mIChhKSBfYSA9 IChhKTsgXAogICAgICB8ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDI3ODozMTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFu IHRvIHVzZSDigJgtPuKAmT8KIDQyNzggfCAgbGF5ZXJfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMu bnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjExOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgIHR5cGVv ZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjc4IHwgIGxheWVyX2lk eCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjYxNToyMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZ CiAgNjE1IHwgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjMxOiBlcnJv cjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVz c2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDI3 OCB8ICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERf TUlOX0xBWUVSLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjA6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAg ICB8ICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 NjE3OjY6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdl cnJvcl0KICA2MTcgfCAgIF9hIDwgX2IgPyBfYSA6IF9iOyBcCiAgICAgIHwgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODoxNDogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKIDQyNzggfCAgbGF5ZXJfaWR4ID0gUlRFX01JTihv cC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAg ICAgICAgXn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNzoxNjogZXJy b3I6IHBvaW50ZXIvaW50ZWdlciB0eXBlIG1pc21hdGNoIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Np b24gWy1XZXJyb3JdCiAgNjE3IHwgICBfYSA8IF9iID8gX2EgOiBfYjsgXAogICAgICB8ICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjE0 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogNDI3OCB8ICBsYXll cl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVS LAogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI3ODoxMjogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYdWludDhfdOKAmSB7 YWthIOKAmHVuc2lnbmVkIGNoYXLigJl9IGZyb20g4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9v cF9jYXAgKuKAmSBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdl cnJvcj1pbnQtY29udmVyc2lvbl0KIDQyNzggfCAgbGF5ZXJfaWR4ID0gUlRFX01JTihvcC0+bWxk dHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAgICAgIF4K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjIzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDI4MCB8ICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIy X01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjExOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAg fCAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6 MzA6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91 cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7i gJk/CiA0MjgwIHwgIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxE X01BWF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MTE6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAg ICB8ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4 MDoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQyODAgfCAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5y X3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToyMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwgICB0eXBlb2YgKGEpIF9hID0gKGEp OyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91 IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDI4MCB8ICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1s ZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjIwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgIHR5cGVvZiAo YSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2lu Y2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToxOTogZXJyb3I6IGludmFsaWQgaW5pdGlhbGl6ZXIKICA2 MTUgfCAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDoxMzogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKIDQyODAgfCAgcnJlcF9pZHggPSBSVEVf TUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAg ICAgIF5+fn5+fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTc6NjogZXJyb3I6 IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogIDYxNyB8 ICAgX2EgPCBfYiA/IF9hIDogX2I7IFwKICAgICAgfCAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjEzOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYUlRFX01JTuKAmQogNDI4MCB8ICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVw LCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fgouLi9saWIv ZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNzoxNjogZXJyb3I6IHBvaW50ZXIvaW50ZWdlciB0 eXBlIG1pc21hdGNoIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gWy1XZXJyb3JdCiAgNjE3IHwg ICBfYSA8IF9iID8gX2EgOiBfYjsgXAogICAgICB8ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjEzOiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYUlRFX01JTuKAmQogNDI4MCB8ICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1s ZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MTE6IGVycm9yOiBh c3NpZ25tZW50IHRvIOKAmHVpbnQ4X3TigJkge2FrYSDigJh1bnNpZ25lZCBjaGFy4oCZfSBmcm9t IOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkgbWFrZXMgaW50ZWdlciBmcm9t IHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiA0MjgwIHwg IHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsK ICAgICAgfCAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyODQ6MTI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjg0IHwgIHJldHVybiAob3AtPm1sZHRzLm51bV9yYnMg PD0gbWF4X3JiW2xheWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAgfCAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4NDoxOTogZXJyb3I6IOKAmChj b25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZ IGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQyODQgfCAgcmV0 dXJuIChvcC0+bWxkdHMubnVtX3JicyA8PSBtYXhfcmJbbGF5ZXJfaWR4XVtycmVwX2lkeF0pOwog ICAgICB8ICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAtPgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODQ6Mjg6IGVycm9yOiBjb21w YXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KIDQyODQgfCAgcmV0 dXJuIChvcC0+bWxkdHMubnVtX3JicyA8PSBtYXhfcmJbbGF5ZXJfaWR4XVtycmVwX2lkeF0pOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mjg5OjUyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBv dXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyODkg fCBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0 X29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDQ6MTQ6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MzA0IHwgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAg ICAgIHwgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMwNDoyMTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8 ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVz ZSDigJgtPuKAmT8KIDQzMDQgfCAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg IC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDozMTogZXJyb3I6 IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Np b24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzMDQg fCAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA0OjEwOiBlcnJv cjogYXNzaWdubWVudCB0byDigJhzdHJ1Y3QgcnRlX21idWYgKuKAmSBmcm9tIGluY29tcGF0aWJs ZSBwb2ludGVyIHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBbLVdl cnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzMDQgfCAgaW5wdXRfcSA9IG9wLT5t bGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToxNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDUgfCAgaW5wdXRf ciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6IOKAmChjb25z dCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlz IGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzMDUgfCAgaW5wdXRf ciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBe CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMDU6Mjk6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9v cF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3Ug bWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MzA1IHwgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1 dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMwNToxMDogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYc3RydWN0IHJ0ZV9tYnVm ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmGNvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0 MzA1IHwgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2OjEzOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDMwNiB8ICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2OjIw OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMt ZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZ PwogNDMwNiB8ICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2OjI3OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2lu dGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDMwNiB8ICBvdXRwdXQgPSBvcC0+ bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMDY6OTogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYc3RydWN0IHJ0 ZV9tYnVmICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmGNvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlw ZXNdCiA0MzA2IHwgIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA3OjE2OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMwNyB8ICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsK ICAgICAgfCAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMDc6MjM6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAg KikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0 byB1c2Ug4oCYLT7igJk/CiA0MzA3IHwgIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQu b2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMw NzozMzogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25l b3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgt PuKAmT8KIDQzMDcgfCAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMDc6MTI6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHVpbnQzMl904oCZIHtha2Eg 4oCYdW5zaWduZWQgaW504oCZfSBmcm9tIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2Fw ICrigJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9 aW50LWNvbnZlcnNpb25dCiA0MzA3IHwgIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQu b2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMDg6MTc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA4IHwgIG91dF9vZmZzZXQgPSBvcC0+ bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjI0OiBlcnJvcjog4oCYKGNvbnN0IHN0 cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBw b2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDMwOCB8ICBvdXRfb2Zmc2V0 ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMDg6MzE6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9i YmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRp ZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MzA4IHwgIG91dF9vZmZzZXQgPSBvcC0+bWxk dHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjEzOiBlcnJvcjogYXNzaWdubWVudCB0byDigJh1 aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0gZnJvbSDigJhjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAq4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQg YSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogNDMwOCB8ICBvdXRfb2Zmc2V0ID0gb3At Pm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDk6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA5IHwgIG51 bV9zeW1zID0gb3AtPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwOToyMjogZXJyb3I6IOKAmChj b25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZ IGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzMDkgfCAgbnVt X3N5bXMgPSBvcC0+bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg IF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMDk6MTE6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHVpbnQzMl90 4oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZfSBmcm9tIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJk ZXZfb3BfY2FwICrigJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3Qg Wy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiA0MzA5IHwgIG51bV9zeW1zID0gb3AtPm1sZHRzLmNf cmVwICsgMTsKICAgICAgfCAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMTE6MjI6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9m Y3dfbWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9 aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0MzExIHwgIHZyYjJfZmN3X21sZHRzX2ZpbGwo b3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5 Mjo0ODogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQog NDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3As IHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMTU6ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTUgfCAgaWYgKG9wLT5tbGR0cy5yX3Jl cCA+IDUpCiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDMxNToxNTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq KSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRv IHVzZSDigJgtPuKAmT8KIDQzMTUgfCAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAgIHwg ICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTU6MjI6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4g cG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KIDQzMTUgfCAgaWYgKG9wLT5tbGR0cy5yX3Jl cCA+IDUpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMTY6NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTYgfCAgIG9wLT5tbGR0 cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMxNjoxMjogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFu IHRvIHVzZSDigJgtPuKAmT8KIDQzMTYgfCAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgIHwg ICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMTY6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBb LVdlcnJvcj11bnVzZWQtdmFsdWVdCiA0MzE2IHwgICBvcC0+bWxkdHMucl9yZXAgPSA1OwogICAg ICB8ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3Ojg6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MzE3IHwgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNzoxNTog ZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4 cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8K IDQzMTcgfCAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAgICAg ICAgIF4KICAgICAgfCAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMxNzoyNzogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFu ZCBpbnRlZ2VyIFstV2Vycm9yXQogNDMxNyB8ICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAy KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMTg6NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTggfCAgIG9wLT5tbGR0 cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzE4OjEyOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZf b3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91 IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDMxOCB8ICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAy OwogICAgICB8ICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE4OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBu byBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogNDMxOCB8ICAgb3AtPm1sZHRzLm51bV9s YXllcnMgPSAyOwogICAgICB8ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzE5Ojg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE5IHwgIGlmIChvcC0+bWxkdHMubnVtX2xheWVy cyA+IDQpCiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDMxOToxNTogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq KSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRv IHVzZSDigJgtPuKAmT8KIDQzMTkgfCAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAg ICAgfCAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxOToyNzogZXJyb3I6IGNvbXBhcmlzb24gYmV0 d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogNDMxOSB8ICBpZiAob3AtPm1sZHRz Lm51bV9sYXllcnMgPiA0KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6NTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQz MjAgfCAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIwOjEyOiBlcnJvcjog4oCYKGNvbnN0IHN0 cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBw b2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwogNDMyMCB8ICAgb3AtPm1sZHRz Lm51bV9sYXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAg LT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIwOjM6IGVycm9yOiBz dGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogNDMyMCB8ICAg b3AtPm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgICB8ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIyOjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyMiB8ICBmb3IgKGkg PSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIyOjI3OiBl cnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhw cmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwog NDMyMiB8ICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMjoxNjog ZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQog NDMyMiB8ICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAg fCAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMyMzoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjMgfCAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0 cy5xX21baV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMzozMDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRl cjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzMjMgfCAgIG91dHNpemVfcGVyX3Jl ICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjM6MTg6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRz IHRvIGJpbmFyeSArIChoYXZlIOKAmHVpbnQzMl904oCZIHtha2Eg4oCYdW5zaWduZWQgaW504oCZ fSBhbmQg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXDigJkpCiA0MzIzIHwgICBvdXRz aXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAg Xn4gfn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgcnRlX2JiZGV2X29wX2NhcAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzMjM6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQt dmFsdWVdCiA0MzIzIHwgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAg ICB8ICAgXn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzI0OjEzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNCB8ICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3Ji cyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAg fCAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz MjQ6MjA6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9u ZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCY LT7igJk/CiA0MzI0IHwgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1ND UEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAg ICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDMyNDozMTogZXJyb3I6IOKAmFJURV9CQkRFVl9TQ1BFUlJC4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiA0MzI0IHwgIHNjX251bSA9IG9wLT5tbGR0cy5udW1f cmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6Mjk6IGVycm9yOiBpbnZhbGlk IG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3Bf Y2FwICrigJkgYW5kIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkpCiA0MzI0 IHwgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMg cmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICB+fiAgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKgogICAg ICB8ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDo5OiBlcnJvcjogYXNzaWdubWVudCB0byDi gJh1aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0gZnJvbSDigJhjb25zdCBzdHJ1 Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhv dXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogNDMyNCB8ICBzY19udW0gPSBvcC0+ bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVy by4gKi8KICAgICAgfCAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzI1OjEyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNSB8ICByX251bSA9IG9wLT5tbGR0cy5udW1f cmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6MTk6IGVy cm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHBy ZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0 MzI1IHwgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3At Pm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1 OjUxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDMyNSB8ICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2Nf ZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6NTg6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9i YmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRp ZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MzI1IHwgIHJfbnVtID0gb3AtPm1sZHRzLm51 bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjQ4OiBl cnJvcjogYXJyYXkgc3Vic2NyaXB0IGlzIG5vdCBhbiBpbnRlZ2VyCiA0MzI1IHwgIHJfbnVtID0g b3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjI4OiBlcnJvcjogaW52 YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2 X29wX2NhcCAq4oCZIGFuZCDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZKQog NDMyNSB8ICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29w LT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgfn4gICAgICAgICAgICAgICAgXgogICAg ICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICB8ICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCiAgICAgIHwgICAgICAg ICAgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMjU6ODogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYdWludDMyX3Ti gJkge2FrYSDigJh1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRl dl9vcF9jYXAgKuKAmSBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBb LVdlcnJvcj1pbnQtY29udmVyc2lvbl0KIDQzMjUgfCAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3Ji cyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNjoyNjogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQzMjYgfCAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0g Ml0gKiBzY19udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNjozMzogZXJyb3I6IOKAmChjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEg cG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzMjYgfCAgcV9zaXplID0g cXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzMjY6MjM6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQgaXMgbm90IGFuIGludGVnZXIKIDQzMjYg fCAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19u dW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzI2OjUwOiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5h cnkgKiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIGFuZCDigJh1 aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0pCiA0MzI2IHwgIHFfc2l6ZSA9IHFz aXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAg ICAgICAgICB+fn5+fn5+fn5+fn4gICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwg ICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9j YXAgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6OTogZXJyb3I6 IGFzc2lnbm1lbnQgdG8g4oCYdWludDMyX3TigJkge2FrYSDigJh1bnNpZ25lZCBpbnTigJl9IGZy b20g4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBtYWtlcyBpbnRlZ2VyIGZy b20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KIDQzMjYg fCAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19u dW07CiAgICAgIHwgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMyNzoyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjcgfCAgcl9zaXplID0gcnNpemVfcGVyX3JlW29w LT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3OjMz OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMt ZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZ PwogNDMyNyB8ICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAy XSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3OjIzOiBlcnJvcjogYXJyYXkgc3Vic2NyaXB0IGlzIG5v dCBhbiBpbnRlZ2VyCiA0MzI3IHwgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVt X2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3OjUwOiBlcnJvcjogaW52YWxp ZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29w X2NhcCAq4oCZIGFuZCDigJh1aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVkIGludOKAmX0pCiA0 MzI3IHwgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICog cl9udW07CiAgICAgIHwgICAgICAgICAgIH5+fn5+fn5+fn5+fiAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KICAgICAgfCAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMyNzo5OiBlcnJvcjogYXNzaWdubWVudCB0byDigJh1aW50MzJfdOKAmSB7YWthIOKAmHVu c2lnbmVkIGludOKAmX0gZnJvbSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZ IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1j b252ZXJzaW9uXQogNDMyNyB8ICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9s YXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTE6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3Jf cGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJp YWJsZV0KIDQyOTQgfCAgdWludDE2X3Qgc2NfZmFjdG9yX3Blcl9ycmVwW1ZSQjJfTUxEX1JSRVBf U0laRV0gPSB7MTIsIDYsIDQsIDMsIDAsIDJ9OwogICAgICB8ICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjkzOjExOiBl cnJvcjogdmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJy b3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkzIHwgIHVpbnQxNl90IHJzaXplX3Blcl9y ZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwgICAgICAgICAgIF5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTI6MTE6 IGVycm9yOiB2YXJpYWJsZSDigJhxc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdl cnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTIgfCAgdWludDE2X3QgcXNpemVfcGVy X3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICov CiAgICAgIHwgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDM3MTo1MDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MzcxIHwgZW5x dWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX29uZV9vcOKAmToKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjE0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDM4MiB8ICBpbnB1dF9xID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5kYXRhOwogICAgICB8ICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODI6MjE6 IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1l eHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/ CiA0MzgyIHwgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAtPgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODI6MzE6IGVycm9yOiDigJgoY29uc3Qg c3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBh IHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MzgyIHwgIGlucHV0X3Eg PSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MjoxMDogZXJyb3I6IGFzc2lnbm1l bnQgdG8g4oCYc3RydWN0IHJ0ZV9tYnVmICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0 eXBlIOKAmGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkgWy1XZXJyb3I9aW5jb21w YXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0MzgyIHwgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lu cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzODM6MTQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzgzIHwgIGlucHV0X3IgPSBvcC0+bWxk dHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6MjE6IGVycm9yOiDigJgoY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNzaW9uPuKAmSBpcyBhIHBvaW50ZXI7 IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0MzgzIHwgIGlucHV0X3IgPSBvcC0+bWxk dHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzgzOjI5OiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxl cnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNl IOKAmC0+4oCZPwogNDM4MyB8ICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz ODM6MTA6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHN0cnVjdCBydGVfbWJ1ZiAq4oCZIGZyb20g aW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2Nh cCAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4MyB8ICBpbnB1 dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NDoxMzogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODQg fCAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NDoyMDogZXJyb3I6IOKA mChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+ 4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzODQgfCAg b3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDM4NDoyNzogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2 X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlkIHlv dSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzODQgfCAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1 dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0Mzg0Ojk6IGVycm9yOiBhc3NpZ25tZW50IHRvIOKAmHN0cnVjdCBydGVfbWJ1ZiAq4oCZ IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2 X29wX2NhcCAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4NCB8 ICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NToxNjogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQz ODUgfCAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1 OjIzOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVv dXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+ 4oCZPwogNDM4NSB8ICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAtPgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODU6MzM6IGVycm9y OiDigJgoY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKikmPGVycm9uZW91cy1leHByZXNz aW9uPuKAmSBpcyBhIHBvaW50ZXI7IGRpZCB5b3UgbWVhbiB0byB1c2Ug4oCYLT7igJk/CiA0Mzg1 IHwgIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1 OjEyOiBlcnJvcjogYXNzaWdubWVudCB0byDigJh1aW50MzJfdOKAmSB7YWthIOKAmHVuc2lnbmVk IGludOKAmX0gZnJvbSDigJhjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAq4oCZIG1ha2Vz IGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJz aW9uXQogNDM4NSB8ICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAg ICAgfCAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mzg2OjE3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NiB8ICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1 dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDM4NjoyNDogZXJyb3I6IOKAmChjb25zdCBzdHJ1Y3QgcnRlX2Ji ZGV2X29wX2NhcCAqKSY8ZXJyb25lb3VzLWV4cHJlc3Npb24+4oCZIGlzIGEgcG9pbnRlcjsgZGlk IHlvdSBtZWFuIHRvIHVzZSDigJgtPuKAmT8KIDQzODYgfCAgb3V0X29mZnNldCA9IG9wLT5tbGR0 cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgLT4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0Mzg2OjMxOiBlcnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2Fw ICopJjxlcnJvbmVvdXMtZXhwcmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4g dG8gdXNlIOKAmC0+4oCZPwogNDM4NiB8ICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5v ZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM4NjoxMzogZXJyb3I6IGFzc2lnbm1lbnQgdG8g4oCYdWludDMyX3TigJkg e2FrYSDigJh1bnNpZ25lZCBpbnTigJl9IGZyb20g4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9v cF9jYXAgKuKAmSBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdl cnJvcj1pbnQtY29udmVyc2lvbl0KIDQzODYgfCAgb3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRw dXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mzg4OjIyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZy YjJfZmN3X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vy cm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4OCB8ICB2cmIyX2Zjd19tbGR0c19m aWxsKG9wLCBmY3cpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQxOTI6NDg6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICri gJkKIDQxOTIgfCB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag Km9wLCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mzg5OjI3OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZy YjJfZG1hX2Rlc2NfbWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg Wy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0Mzg5IHwgIHZyYjJfZG1hX2Rl c2NfbWxkdHNfZmlsbChvcCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwgb3V0cHV0LAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMTM6NTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICri gJkKIDQyMTMgfCB2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0 IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDAxOjEw OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUg cGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5p dGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0MDEgfCAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiMl9lbnF1ZXVlX21sZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0MTU6NDY6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9j aGVja19tbGRfcl9jb25zdHJhaW504oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBb LVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MTUgfCAgIGFzX29uZV9vcCA9 IHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChvcHNbaV0pOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjU2OiBub3RlOiBl eHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MjY4IHwgdnJiMl9j aGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjozOTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQ0MTYgfCAgIGRlc2NzX2luX29wID0gYXNfb25lX29wID8gMSA6IG9wc1tpXS0+ bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE2OjQ2OiBl cnJvcjog4oCYKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwICopJjxlcnJvbmVvdXMtZXhw cmVzc2lvbj7igJkgaXMgYSBwb2ludGVyOyBkaWQgeW91IG1lYW4gdG8gdXNlIOKAmC0+4oCZPwog NDQxNiB8ICAgZGVzY3NfaW5fb3AgPSBhc19vbmVfb3AgPyAxIDogb3BzW2ldLT5tbGR0cy5jX3Jl cCArIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC0+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjozMTogZXJyb3I6 IHBvaW50ZXIvaW50ZWdlciB0eXBlIG1pc21hdGNoIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24g Wy1XZXJyb3JdCiA0NDE2IHwgICBkZXNjc19pbl9vcCA9IGFzX29uZV9vcCA/IDEgOiBvcHNbaV0t Pm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjoxNTogZXJyb3I6IGFz c2lnbm1lbnQgdG8g4oCYdWludDE2X3TigJkge2FrYSDigJhzaG9ydCB1bnNpZ25lZCBpbnTigJl9 IGZyb20g4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBtYWtlcyBpbnRlZ2Vy IGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KIDQ0 MTYgfCAgIGRlc2NzX2luX29wID0gYXNfb25lX29wID8gMSA6IG9wc1tpXS0+bWxkdHMuY19yZXAg KyAxOwogICAgICB8ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0MjY6Mzc6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYZW5xdWV1 ZV9tbGR0c19vbmVfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyNiB8ICAgIHJldCA9IGVucXVldWVfbWxk dHNfb25lX29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzcxOjcwOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAq4oCZCiA0MzcxIHwgZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19x dWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI4OjM5OiBlcnJv cjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGVucXVldWVfbWxkdHNfc3BsaXRfb3DigJkgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogNDQyOCB8ICAgIHJldCA9IGVucXVldWVfbWxkdHNfc3BsaXRfb3AocSwgb3BzW2ld LCBlbnF1ZXVlZF9kZXNjcyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyODk6NzI6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICri gJkKIDQyODkgfCBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6MzE6IGVycm9yOiDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxs IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9u IFstV2Vycm9yXQogNDQ1NSB8ICAgc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqKnJlZl9vcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogSW4gZnVuY3Rpb24g4oCYZGVxdWV1ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ5OTo0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDQ5OSB8ICBvcC0+ c3RhdHVzID0gMDsKICAgICAgfCAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ0OTk6MjogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11 bnVzZWQtdmFsdWVdCiA0NDk5IHwgIG9wLT5zdGF0dXMgPSAwOwogICAgICB8ICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDU6NTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDUg fCAgIG9wLT5zdGF0dXMgfD0gcnNwLmlucHV0X2VyciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsK ICAgICAgfCAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA1 OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVl XQogNDUwNSB8ICAgb3AtPnN0YXR1cyB8PSByc3AuaW5wdXRfZXJyIDw8IFJURV9CQkRFVl9EQVRB X0VSUk9SOwogICAgICB8ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0NTA2OjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA2IHwgICBvcC0+c3RhdHVzIHw9IHJzcC5kbWFfZXJy IDw8IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgICAgIHwgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNjozOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZm ZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KIDQ1MDYgfCAgIG9wLT5zdGF0dXMgfD0gcnNwLmRt YV9lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNzo1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUwNyB8ICAgb3At PnN0YXR1cyB8PSByc3AuZmN3X2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDc6MzogZXJyb3I6 IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiA0NTA3IHwg ICBvcC0+c3RhdHVzIHw9IHJzcC5mY3dfZXJyIDw8IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgICAg IHwgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6NTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQ1MDggfCAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9C QkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDUwODozNjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1Li gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g 4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogNDUwOCB8ICAgb3AtPnN0YXR1cyB8PSByc3Au ZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6MzM6IGVycm9yOiBpbnZh bGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8PCAoaGF2ZSDigJhpbnTigJkgYW5kIOKAmGNvbnN0IHN0 cnVjdCBydGVfYmJkZXZfb3BfY2FwICrigJkpCiA0NTA4IHwgICBvcC0+c3RhdHVzIHw9IHJzcC5l bmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAg ICAgICB+fn5+fn5+fn5+fn5+fn4gXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBydGVfYmJkZXZfb3BfY2FwICoKICAgICAgfCAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgY2hhcjoxCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODozOiBl cnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KIDQ1 MDggfCAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVf RVJST1I7CiAgICAgIHwgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ1MTE6ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MTEgfCAgaWYgKG9wLT5zdGF0dXMgIT0gMCkKICAgICAg fCAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTEzOjg6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0NTEzIHwgIGlmIChvcC0+c3RhdHVzICYgKDEgPDwgUlRFX0JCREVWX0RS Vl9FUlJPUikpCiAgICAgIHwgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDUxMzoxNzogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICYgKGhh dmUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKuKAmSBhbmQg4oCYaW504oCZKQog NDUxMyB8ICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9EUlZfRVJST1IpKQogICAg ICB8ICAgICAgfn4gICAgICAgICBeCiAgICAgIHwgICAgICB8CiAgICAgIHwgICAgICBjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0NTMxOjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ1MzEgfCAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAgfCAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiMl9kZXF1ZXVlX21sZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ1NDI6NDE6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg 4oCYZGVxdWV1ZV9tbGR0c19vbmVfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBl IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDU0MiB8ICAgcmV0ID0gZGVx dWV1ZV9tbGR0c19vbmVfb3AocV9kYXRhLCBxLCAmb3BzW2ldLCBkZXF1ZXVlZF9jYnMsICZhcV9k ZXF1ZXVlZCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wICoqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDQ1NTo1Mjogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq KuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICoq4oCZCiA0NDU1IHwgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfYmJkZXZfaW5pdOKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTczOjc6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2 4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZW5xdWV1ZV9tbGR0c19vcHPigJk7IGRpZCB5b3Ug bWVhbiDigJhlbnF1ZXVlX2RlY19vcHPigJk/CiA0NTczIHwgIGRldi0+ZW5xdWV1ZV9tbGR0c19v cHMgPSB2cmIyX2VucXVldWVfbWxkdHM7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICBlbnF1ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0NTczOjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJy b3I9dW51c2VkLXZhbHVlXQogNDU3MyB8ICBkZXYtPmVucXVldWVfbWxkdHNfb3BzID0gdnJiMl9l bnF1ZXVlX21sZHRzOwogICAgICB8ICBefn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NTc0Ojc6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV24oCZIGhhcyBubyBtZW1i ZXIgbmFtZWQg4oCYZGVxdWV1ZV9tbGR0c19vcHPigJk7IGRpZCB5b3UgbWVhbiDigJhkZXF1ZXVl X2RlY19vcHPigJk/CiA0NTc0IHwgIGRldi0+ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVl dWVfbWxkdHM7CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICBk ZXF1ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTc0 OjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVl XQogNDU3NCB8ICBkZXYtPmRlcXVldWVfbWxkdHNfb3BzID0gdnJiMl9kZXF1ZXVlX21sZHRzOwog ICAgICB8ICBefn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzIy NzAvMjgxMV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlicnRlX2V2ZW50X29wZGwuc28u MjMuMi5wL21lc29uLWdlbmVyYXRlZF8uLl9ydGVfZXZlbnRfb3BkbC5wbWQuYy5vClsyMjcxLzI4 MTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfZXZlbnRfb2N0ZW9udHgu YS5wL2V2ZW50X29jdGVvbnR4X3Nzb3ZmX3Byb2JlLmMubwpbMjI3Mi8yODExXSBDb21waWxpbmcg QyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2V2ZW50X29jdGVvbnR4LmEucC9ldmVudF9vY3Rl b250eF9zc292Zl9ldmRldi5jLm8KWzIyNzMvMjgxMV0gR2VuZXJhdGluZyBydGVfY3J5cHRvX2Nu eGsuc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2Fw dHVyZSBvdXRwdXQpClsyMjc0LzI4MTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfY3J5cHRvX29jdGVvbnR4LmEucC9jcnlwdG9fb2N0ZW9udHhfb3R4X2NyeXB0b2Rldl9v cHMuYy5vClsyMjc1LzI4MTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf ZXZlbnRfc3cuYS5wL2V2ZW50X3N3X3N3X2V2ZGV2X3NjaGVkdWxlci5jLm8KWzIyNzYvMjgxMV0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9ldmVudF9zdy5hLnAvZXZlbnRf c3dfc3dfZXZkZXZfc2VsZnRlc3QuYy5vClsyMjc3LzI4MTFdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfZXZlbnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nzb3Zm X3dvcmtlci5jLm8KWzIyNzgvMjgxMV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9ldmVudF9vY3Rlb250eC5hLnAvZXZlbnRfb2N0ZW9udHhfc3NvdmZfZXZkZXZfc2VsZnRl c3QuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxNDoKT1M6IFVC MjIwNC0zMgpUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMv bGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8g CmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wIC1JZHJpdmVycyAtSS4u L2RyaXZlcnMgLUlkcml2ZXJzL2Jhc2ViYW5kL2FjYyAtSS4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj IC1JbGliL2JiZGV2IC1JLi4vbGliL2JiZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmln IC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9p bmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAt SS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29t bW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAt SWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3Rl bGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9t ZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2Ry aXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9s aWIvcGNpIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQg LVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25m aWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJh bCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXIt YXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUt c3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxp Z25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91 bmRzIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCAtRF9HTlVfU09VUkNFIC1tMzIgLWZQSUMgLW1h cmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkg LVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPXBtZC5iYi5h Y2MgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9h Y2NfcnRlX3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEu cC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2Jh c2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAtYyAuLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9xdWV1ZV9zZXR1cOKAmToKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjM2OiBlcnJvcjog4oCYUlRFX0JCREVWX09Q X01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMDM3IHwgICAgICAgICBlbHNlIGlmIChj b25mLT5vcF90eXBlID09ICBSVEVfQkJERVZfT1BfTUxEVFMpCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjM2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQg aWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBw ZWFycyBpbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmJfcHJpbnRfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTA5NTozMTogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1Bf RkZU4oCZPwogMTA5NSB8ICAgICAgICAgfSBlbHNlIGlmIChvcF90eXBlID09IFJURV9CQkRFVl9P UF9NTERUUykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRF Vl9PUF9GRlQKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MjI6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5 OTo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FS R1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NjY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMDk5IHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3Bf bWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19f KQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMDo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDExMDAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5yX3JlcCwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykK ICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAxIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5t bGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAg ICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjY0OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogMTEwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMt Pm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAg ICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2Rl dl9pbmZvX2dldOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzMy OjMzOiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9O4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJU RV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTuKAmT8KIDEzMzIgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lP TiB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6MzU6IGVycm9yOiDigJhSVEVfQkJERVZfT1Bf TUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KIDEzNjYgfCAgICAgICAgICAgICAgICAgICAg ICAgICAudHlwZSAgID0gUlRFX0JCREVWX09QX01MRFRTLAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjk6NDk6IGVycm9yOiDigJhSVEVfQkJERVZfTUxEVFNf UkVQ4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogMTM2OSB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9N TERUU19SRVAsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Zjd19sZF9maWxs4oCZOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE5NzI6NTM6IGVycm9yOiDigJhSVEVfQkJERVZf TERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT07igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NP TVBSRVNTSU9O4oCZPwogMTk3MiB8ICAgICAgICAgfSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxk cGNfZGVjLm9wX2ZsYWdzLCBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQ Q19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZW5jX29uZV9vcF9jYuKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozMzczOjUwOiBlcnJvcjog4oCYUlRFX0JC REVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzMzczIHwgICAg ICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9F TkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5U X0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9u IOKAmHZyYjJfZGVxdWV1ZV9sZHBjX2VuY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQyNTo0MjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVf RVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzQyNSB8ICAgICAgICAgb3AtPnN0 YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NTg6IGVycm9yOiDigJhSVEVfQkJE RVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM0OTMgfCAgICAg ICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVf QkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZGVjX29uZV9vcF9jYuKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTQwOjQyOiBlcnJvcjog4oCY UlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNTQw IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5H SU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2xkcGNfZGVj X29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1 OjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRf RVJST1LigJk/CiAzNTk1IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8 PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9k ZXF1ZXVlX2RlY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MzY3Nzo1ODogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JC REVWX0VWRU5UX0VSUk9S4oCZPwogMzY3NyB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9 ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9F UlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDi gJh2cmIyX2RtYV9kZXNjX2ZmdF9maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjM5OTA6NTE6IGVycm9yOiDigJhSVEVfQkJERVZfRkZUX0RFV0lORE9XSU5H4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9GRlRfV0lORE9XSU5H4oCZPwogMzk5MCB8ICAgICAgICAgYm9vbCB3aW5fZW4g PSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywgUlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lORyk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRkZUX1dJTkRPV0lORwouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6MjU6IGVycm9yOiDigJhSVEVf QkJERVZfTUFYX0NT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9NQVhfQ1NfMuKAmT8KIDQwMTYgfCAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBSVEVfQkJERVZfTUFYX0NTOyBpKyspCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9NQVhfQ1NfMgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZW5xdWV1ZV9mZnRfb25lX29w4oCZOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6MjI6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2JiZGV2X29wX2ZmdOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV0 4oCZCiA0MDQ5IHwgICAgICAgICB3aW4gPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0LmRhdGE7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQwNTM6Mjk6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV04oCZCiA0MDUzIHwgICAg ICAgICB3aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5vZmZzZXQ7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZmZ0X29uZV9vcOKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTQyOjQyOiBlcnJvcjog4oCY UlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiA0MTQy IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5H SU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjI4OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJs ZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQx OTIgfCB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBz dHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6MjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk0IHwgICAg ICAgICBmY3ctPm5yYiA9IG9wLT5tbGR0cy5udW1fcmJzOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NToyNjog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQxOTUgfCAgICAgICAgIGZjdy0+TkxheWVycyA9IG9wLT5tbGR0cy5udW1f bGF5ZXJzIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk2OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NiB8 ICAgICAgICAgZmN3LT5RbW9kMCA9IChvcC0+bWxkdHMucV9tWzBdID4+IDEpIC0gMTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk3IHwgICAgICAgICBmY3ctPlFtb2Qx ID0gKG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5ODoyNTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQxOTggfCAgICAgICAgIGZjdy0+UW1vZDIgPSAob3AtPm1sZHRzLnFfbVsy XSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk5OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5OSB8 ICAgICAgICAgZmN3LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+IDEpIC0gMTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMDE6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjAxIHwgICAgICAgICBpZiAob3AtPm1s ZHRzLm51bV9sYXllcnMgPT0gMikgewogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwNSB8 ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDMpCiAgICAgIHwgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDc6MjM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MjA3IHwgICAgICAgICBmY3ctPlJyZXAgPSBvcC0+bWxkdHMucl9yZXA7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDIwODoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDggfCAgICAgICAgIGZjdy0+Q3Jl cCA9IG9wLT5tbGR0cy5jX3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6MzM6IGVycm9yOiDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxs IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9u IFstV2Vycm9yXQogNDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJh2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGzigJk6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNjoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjYgfCAg ICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICB8ICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI3OjE5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDIyNyB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMucl9yZXAgPSA1OwogICAgICB8ICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIyODoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjggfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xh eWVycyA8IDIpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMjk6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI5IHwgICAgICAgICAgICAg ICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzA6MTU6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MjMwIHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPiA0KQogICAgICB8 ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjMxOjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMSB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVt X2xheWVycyA9IDQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMyOjI3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMiB8ICAgICAg ICAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKyspCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMzM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjMzIHwgICAgICAgICAgICAgICAgIG91dHNp emVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjM0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRz Lm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjM0OjM4OiBlcnJvcjog4oCYUlRFX0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVW X0NSQ19FUlJPUuKAmT8KIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJz ICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9DUkNfRVJS T1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjYxOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJE RVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6MTk6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM1 IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVw W29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjU4OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNSB8 ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtv cC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNjozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzYgfCAgICAgICAgIHFfc2l6ZSA9IHFz aXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjM3OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNyB8ICAgICAgICAgcl9zaXpl ID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIyMToxODogZXJyb3I6IHZhcmlhYmxlIOKAmHNjX2ZhY3Rvcl9w ZXJfcnJlcOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlh YmxlXQogNDIyMSB8ICAgICAgICAgdWludDE2X3Qgc2NfZmFjdG9yX3Blcl9ycmVwW1ZSQjJfTUxE X1JSRVBfU0laRV0gPSB7MTIsIDYsIDQsIDMsIDAsIDJ9OwogICAgICB8ICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIyMDoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDIyMCB8ICAgICAgICAg dWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsK ICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMTk6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhxc2l6ZV9wZXJf cmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0K IDQyMTkgfCAgICAgICAgIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0g PSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICB8ICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0 IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjM2 OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUg cGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5p dGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2Nv bnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2NoZWNrX21s ZF9yX2NvbnN0cmFpbnTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDI3NToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyNzUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMuY19yZXAg PT0gMCkKICAgICAgfCAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDI3ODozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyNzggfCAgICAgICAgIGxh eWVyX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZ RVIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9p bmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEp OyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjc4IHwgICAgICAgICBs YXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xB WUVSLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChh KTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4MCB8 ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFY X1JSRVApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0g KGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjgwIHwgICAgICAg ICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1 ZGUvcnRlX2NvbW1vbi5oOjYxNTozNDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhS VEVfTUlO4oCZCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4NDoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODQgfCAgICAg ICAgIHJldHVybiAob3AtPm1sZHRzLm51bV9yYnMgPD0gbWF4X3JiW2xheWVyX2lkeF1bcnJlcF9p ZHhdKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI4OTo1MjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0Mjg5IHwg ZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZW5xdWV1ZV9tbGR0c19zcGxpdF9v cOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA0OjIxOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMwNCB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0 YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDUgfCAgICAgICAgIGlucHV0 X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2OjIwOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDMwNiB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMDc6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA3IHwgICAgICAgICBpbl9vZmZzZXQgPSBv cC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjI0OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDMwOCB8ICAgICAgICAgb3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0 OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzA5OjIyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwOSB8ICAgICAgICAgbnVt X3N5bXMgPSBvcC0+bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxMToyOTogZXJyb3I6 IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZyb20gaW5j b21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBl c10KIDQzMTEgfCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDE5Mjo0ODogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZ IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMTU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE1IHwgICAgICAgICBpZiAob3At Pm1sZHRzLnJfcmVwID4gNSkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNjoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTYgfCAgICAg ICAgICAgICAgICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTc6MTU6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0MzE3IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAg ICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzE4OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxOCB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMu bnVtX2xheWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE5OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxOSB8ICAg ICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMDoxOTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQzMjAgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSA0Owog ICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMyMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjIgfCAgICAgICAgIGZvciAoaSA9IDA7 IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIzOjM3 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMyMyB8ICAgICAgICAgICAgICAgICBvdXRzaXplX3Blcl9yZSArPSBv cC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDoyMDogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQzMjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRF X0JCREVWX1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz MjQ6Mzg6IGVycm9yOiDigJhSVEVfQkJERVZfU0NQRVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S 4oCZPwogNDMyNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJE RVZfU0NQRVJSQjsgLyogQyByZXAgZm9yY2VkIHRvIHplcm8uICovCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9DUkNfRVJST1IKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjE5OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDMyNSB8ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJf cnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNTo1ODogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQz MjUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3Jy ZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMjY6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI2IHwgICAgICAgICBxX3NpemUg PSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDMyNzozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjcgfCAgICAgICAgIHJf c2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0 b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12 YXJpYWJsZV0KIDQyOTQgfCAgICAgICAgIHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIy X01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyOTM6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1 dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTMgfCAgICAg ICAgIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0 Mn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjkyOjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVf cGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFi bGVdCiA0MjkyIHwgICAgICAgICB1aW50MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJ WkVdID0gezgsIDEyLCAxNn07IC8qIExheWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3 MTo1MDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5z aWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRl ZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MzcxIHwgZW5xdWV1ZV9tbGR0c19v bmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3As CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4MiB8ICAgICAg ICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4Mzoy MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQzODMgfCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1 dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NCB8ICAgICAgICAg b3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODU6MjM6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0Mzg1IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9m ZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg2OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NiB8ICAgICAgICAg b3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg4 OjI5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfZmN3X21sZHRzX2ZpbGzi gJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1w b2ludGVyLXR5cGVzXQogNDM4OCB8ICAgICAgICAgdnJiMl9mY3dfbWxkdHNfZmlsbChvcCwgZmN3 KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MTkyOjQ4OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAq4oCZCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4OTozNDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQg MSBvZiDigJh2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9p bnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4OSB8ICAg ICAgICAgdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKG9wLCAmZGVzYy0+cmVxLCBpbnB1dF9xLCBp bnB1dF9yLCBvdXRwdXQsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxMzo1Mzogbm90ZTogZXhw ZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBv ZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDIxMyB8IHZyYjJfZG1h X2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MDE6MjQ6IGVycm9yOiDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxs IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9u IFstV2Vycm9yXQogNDQwMSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICoqb3BzLCB1aW50MTZfdCBudW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiMl9lbnF1ZXVlX21sZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTU6NjA6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg 4oCYdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW504oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50 ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MTUgfCAgICAg ICAgICAgICAgICAgYXNfb25lX29wID0gdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KG9wc1tp XSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6NTY6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJn dW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQyNjgg fCB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3ApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE2 OjUzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDQxNiB8ICAgICAgICAgICAgICAgICBkZXNjc19pbl9vcCA9IGFz X29uZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI2OjU4OiBlcnJvcjogcGFzc2luZyBhcmd1bWVu dCAyIG9mIOKAmGVucXVldWVfbWxkdHNfb25lX29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50 ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MjYgfCAgICAg ICAgICAgICAgICAgICAgICAgICByZXQgPSBlbnF1ZXVlX21sZHRzX29uZV9vcChxLCBvcHNbaV0s IGVucXVldWVkX2Rlc2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDM3MTo3MDogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZ IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mQogNDM3MSB8IGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQyODo2MDogZXJyb3I6IHBhc3NpbmcgYXJn dW1lbnQgMiBvZiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0X29w4oCZIGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0Mjgg fCAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHEs IG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mjg5OjcyOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAq4oCZCiA0Mjg5IHwgZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNj X3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBs ZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjQ1OiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1l dGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBv ciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0NTUgfCAgICAgICAgICAgICAgICAgc3RydWN0IGFj Y19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKnJlZl9vcCwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDi gJhkZXF1ZXVlX21sZHRzX29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NDk5OjExOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDQ5OSB8ICAgICAgICAgb3AtPnN0YXR1cyA9 IDA7CiAgICAgIHwgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDUwNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDUgfCAgICAgICAgICAgICAgICAgb3AtPnN0 YXR1cyB8PSByc3AuaW5wdXRfZXJyIDw8IFJURV9CQkRFVl9EQVRBX0VSUk9SOwogICAgICB8ICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDUwNjoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDYgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8 PSByc3AuZG1hX2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNzoxOTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQ1MDcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZmN3 X2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODoxOTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQ1MDggfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcg PDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6NTA6IGVycm9yOiDigJhS VEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDQ1MDgg fCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JC REVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRf RVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTExOjE1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDUxMSB8ICAgICAgICAgaWYgKG9wLT5zdGF0dXMgIT0gMCkKICAgICAgfCAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMzox NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQ1MTMgfCAgICAgICAgIGlmIChvcC0+c3RhdHVzICYgKDEgPDwgUlRF X0JCREVWX0RSVl9FUlJPUikpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUzMToyNDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3Jd CiA0NTMxIHwgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMs IHVpbnQxNl90IG51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmIyX2RlcXVldWVfbWxkdHPigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDU0Mjo1NTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhkZXF1ZXVl X21sZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9 aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NTQyIHwgICAgICAgICAgICAgICAgIHJldCA9 IGRlcXVldWVfbWxkdHNfb25lX29wKHFfZGF0YSwgcSwgJm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAm YXFfZGVxdWV1ZWQpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NjY6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKuKAmQogNDQ1 NSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9iYmRldl9pbml04oCZ OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NzM6MTQ6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2JiZGV24oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZW5xdWV1ZV9tbGR0 c19vcHPigJk7IGRpZCB5b3UgbWVhbiDigJhlbnF1ZXVlX2RlY19vcHPigJk/CiA0NTczIHwgICAg ICAgICBkZXYtPmVucXVldWVfbWxkdHNfb3BzID0gdnJiMl9lbnF1ZXVlX21sZHRzOwogICAgICB8 ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICBlbnF1 ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTc0OjE0 OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRl cXVldWVfbWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1lYW4g4oCYZGVxdWV1ZV9kZWNfb3Bz4oCZPwog NDU3NCB8ICAgICAgICAgZGV2LT5kZXF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZGVxdWV1ZV9tbGR0 czsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgZGVxdWV1ZV9kZWNfb3BzCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzClsxNzMxLzIyMjldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfZnBnYV81Z25yX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV81Z25yX2ZlY19ydGVfZnBn YV81Z25yX2ZlYy5jLm8KWzE3MzIvMjIyOV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9iYXNlYmFuZF9mcGdhX2x0ZV9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlY19m cGdhX2x0ZV9mZWMuYy5vClsxNzMzLzIyMjldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfYmFzZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4 LmMubwpbMTczNC8yMjI5XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2V2 ZW50X3N3LmEucC9ldmVudF9zd19zd19ldmRldl9zZWxmdGVzdC5jLm8KWzE3MzUvMjIyOV0gQ29t cGlsaW5nIEMgb2JqZWN0IGFwcC9kcGRrLWR1bXBjYXAucC9kdW1wY2FwX21haW4uYy5vClsxNzM2 LzIyMjldIENvbXBpbGluZyBDIG9iamVjdCBhcHAvZHBkay10ZXN0LWJiZGV2LnAvdGVzdC1iYmRl dl90ZXN0X2JiZGV2X3ZlY3Rvci5jLm8KWzE3MzcvMjIyOV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9udWxsLmEucC9iYXNlYmFuZF9udWxsX2JiZGV2X251 bGwuYy5vClsxNzM4LzIyMjldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX2FjYzEwMF9wbWQuYy5vClsxNzM5LzIy MjldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVyYm9f c3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3YXJlLmMubwpuaW5qYTog YnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTU6Ck9TOiBSSEVMODctNjQKVGFyZ2V0 OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9i YXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gCmdjYyAtSWRyaXZl cnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlk cml2ZXJzL2Jhc2ViYW5kL2FjYyAtSS4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjIC1JbGliL2JiZGV2 IC1JLi4vbGliL2JiZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9p bmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4v bGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwv eDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2Vh bCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNz IC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxp Yi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGli L3JpbmcgLUkuLi9saWIvcmluZyAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3Bj aSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9saWIvcGNpIC1mZGlh Z25vc3RpY3MtY29sb3I9YWx3YXlzIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwg LVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAt V2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zv cm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVz IC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGgg LVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5n cyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJz IC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9B UEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0df REVGQVVMVF9MT0dUWVBFPXBtZC5iYi5hY2MgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYmFz ZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJzL2xp YnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vLmQg LW8gZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92 cmJfcG1kLmMubyAtYyAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9xdWV1 ZV9zZXR1cOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjI5 OiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAg ZWxzZSBpZiAoY29uZi0+b3BfdHlwZSA9PSAgUlRFX0JCREVWX09QX01MRFRTKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoxMDM3OjI5OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBv cnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfcHJpbnRfb3Di gJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NToyNDogZXJyb3I6 IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU4oCZPwogIH0gZWxzZSBp ZiAob3BfdHlwZSA9PSBSVEVfQkJERVZfT1BfTUxEVFMpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9P UF9GRlQKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6MjI6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5OTox MzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBv cF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9iYmRldl9sb2figJkKICAgIyNfX1ZBX0FSR1NfXykKICAgICBefn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGV2 X2luZm9fZ2V04oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6 NTogZXJyb3I6IOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTuKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVf QkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT07igJk/CiAgICAgUlRFX0JCREVWX0xEUENf SEFSUV80QklUX0NPTVBSRVNTSU9OIHwKICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY2OjEyOiBlcnJvcjog4oCYUlRFX0JC REVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAgICAudHlwZSA9IFJURV9CQkRF Vl9PUF9NTERUUywKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgIFJU RV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY5 Ojc6IGVycm9yOiDigJhSVEVfQkJERVZfTUxEVFNfUkVQ4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9ERVZfUkVTRVTi gJk/CiAgICAgICBSVEVfQkJERVZfTUxEVFNfUkVQLAogICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICAgUlRFX0JCREVWX0RFVl9SRVNFVAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Zjd19sZF9maWxs4oCZOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE5NzI6NDY6IGVycm9yOiDigJhSVEVfQkJERVZf TERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT07igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NP TVBSRVNTSU9O4oCZPwogIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFn cywgUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZW5jX29uZV9v cF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozMzczOjQzOiBl cnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1Li gJk/CiAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZf RU5HSU5FX0VSUk9SKSA6IDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZGVxdWV1ZV9sZHBjX2VuY19v bmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQyNToz NTogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VS Uk9S4oCZPwogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9F VkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5j dGlvbiDigJh2cmJfZGVxdWV1ZV9lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NDQ6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VS Uk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBt ZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5l bmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZf RVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVu Y3Rpb24g4oCYdnJiX2RlcXVldWVfZGVjX29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTQwOjM1OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9F UlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAgb3AtPnN0YXR1cyB8PSByc3AuZW5n aW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2xkcGNfZGVjX29u ZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjM1 OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJS T1LigJk/CiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lO RV9FUlJPUjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VW RU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0 aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MzY3Nzo0NDogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJS T1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogICBvcC0+c3RhdHVzIHw9ICgocnNwLmVu Z2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9F VkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5j dGlvbiDigJh2cmIyX2RtYV9kZXNjX2ZmdF9maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjM5OTA6NDQ6IGVycm9yOiDigJhSVEVfQkJERVZfRkZUX0RFV0lORE9X SU5H4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBt ZWFuIOKAmFJURV9CQkRFVl9GRlRfV0lORE9XSU5H4oCZPwogIGJvb2wgd2luX2VuID0gY2hlY2tf Yml0KG9wLT5mZnQub3BfZmxhZ3MsIFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkcpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRkZUX1dJTkRPV0lORwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQw MTY6MTg6IGVycm9yOiDigJhSVEVfQkJERVZfTUFYX0NT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9NQVhfQ1NfMuKA mT8KICBmb3IgKGkgPSAwOyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9NQVhfQ1Nf MgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2 cmJfZW5xdWV1ZV9mZnRfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQwNDk6MTY6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV04oCZOyBkaWQgeW91IG1lYW4g4oCY d2luZG93X2luZGV44oCZPwogIHdpbiA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsK ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICB3aW5kb3df aW5kZXgKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDUzOjIzOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhk ZXdpbmRvd2luZ19pbnB1dOKAmTsgZGlkIHlvdSBtZWFuIOKAmHdpbmRvd19pbmRleOKAmT8KICB3 aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5vZmZzZXQ7CiAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICB3aW5k b3dfaW5kZXgKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiX2RlcXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MTQyOjM1OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1 bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MTkyOjI4OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBk ZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRl IG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIHZyYjJfZmN3X21s ZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21s ZHRzICpmY3cpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJi Ml9mY3dfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MTk0OjE1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAgZmN3LT5ucmIgPSBvcC0+bWxkdHMu bnVtX3JiczsKICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMTM6MzM6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xh cmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2Yg dGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogdnJiMl9kbWFfZGVzY19t bGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kbWFfZGVzY19tbGR0c19maWxs 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjY6ODogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDozMTogZXJyb3I6IOKAmFJU RV9CQkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiAgc2NfbnVtID0gb3At Pm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAx KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMToxMTogZXJyb3I6IHZhcmlhYmxlIOKAmHNj X2ZhY3Rvcl9wZXJfcnJlcOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQt c2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQ X1NJWkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsKICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIwOjExOiBlcnJvcjog dmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51 c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgdWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xB WV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjE5OjExOiBlcnJvcjogdmFyaWFibGUg4oCY cXNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQt dmFyaWFibGVdCiAgdWludDE2X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4 LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICovCiAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjM2OiBlcnJvcjog4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICpvcCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24g4oCYdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW504oCZOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6ODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog IGlmIChvcC0+bWxkdHMuY19yZXAgPT0gMCkKICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDI4OTo1MjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUg b3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiBlbnF1 ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKm9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGVucXVldWVfbWxkdHNfc3BsaXRfb3DigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDoxNDogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzExOjIyOiBlcnJv cjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfZmN3X21sZHRzX2ZpbGzigJkgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5 cGVzXQogIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6NDg6IG5vdGU6 IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQg aXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIHZyYjJfZmN3X21s ZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21s ZHRzICpmY3cpCiAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDozMTogZXJyb3I6 IOKAmFJURV9CQkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiAgc2NfbnVt ID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAgZm9yY2Vk IHRvIHplcm8uICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTE6IGVycm9yOiB2YXJp YWJsZSDigJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11 bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJC Ml9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5Mzox MTogZXJyb3I6IHZhcmlhYmxlIOKAmHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFst V2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHJzaXplX3Blcl9yZVtW UkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgICAgICAgXn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MjoxMTogZXJyb3I6IHZh cmlhYmxlIOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNl ZC1idXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlf U0laRV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICAgICAgIF5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2 ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo1MDogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRl ciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3Ig ZGVjbGFyYXRpb24gWy1XZXJyb3JdCiBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1 ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZW5xdWV1ZV9t bGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4 MjoxNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lu cHV0LmRhdGE7CiAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0Mzg4OjIyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfZmN3 X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWlu Y29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7 CiAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQxOTI6NDg6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICrigJkKIHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDM4OToyNzogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2RtYV9k ZXNjX21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChv cCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwgb3V0cHV0LAogICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6 NTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIHZy YjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQwMToxMDogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwg bm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24g Wy1XZXJyb3JdCiAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51 bSkKICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2VucXVldWVfbWxkdHPigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNTo0NjogZXJyb3I6IHBhc3Npbmcg YXJndW1lbnQgMSBvZiDigJh2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnTigJkgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogICBhc19vbmVfb3AgPSB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQob3BzW2ldKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6NTY6IG5vdGU6IGV4cGVjdGVkIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWlu dChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCkgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDQxNjozOTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogICBkZXNj c19pbl9vcCA9IGFzX29uZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NDI2OjM3OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKA mGVucXVldWVfbWxkdHNfb25lX29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBb LVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgIHJldCA9IGVucXVldWVfbWxk dHNfb25lX29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+Xn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDM3MTo3MDogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq 4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KuKAmQogZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ0Mjg6Mzk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg 4oCYZW5xdWV1ZV9tbGR0c19zcGxpdF9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgICByZXQgPSBlbnF1ZXVl X21sZHRzX3NwbGl0X29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0Mjg5OjcyOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAq4oCZCiBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEs IHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NTozMTogZXJyb3I6IOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90 IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1X ZXJyb3JdCiAgIHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KipyZWZfb3AsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY ZGVxdWV1ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDQ5OTo0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAgb3AtPnN0YXR1cyA9IDA7CiAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6MzY6IGVycm9y OiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8K ICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJP UjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRf RVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVs OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MzE6MTA6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRl Y2xhcmF0aW9uIFstV2Vycm9yXQogICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1 aW50MTZfdCBudW0pCiAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kZXF1ZXVlX21sZHRz 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NDI6NDE6IGVycm9y OiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYZGVxdWV1ZV9tbGR0c19vbmVfb3DigJkgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5 cGVzXQogICByZXQgPSBkZXF1ZXVlX21sZHRzX29uZV9vcChxX2RhdGEsIHEsICZvcHNbaV0sIGRl cXVldWVkX2NicywgJmFxX2RlcXVldWVkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDQ1NTo1Mjogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKuKA mSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq 4oCZCiAgIHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipy ZWZfb3AsCiAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5efn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiX2JiZGV2X2luaXTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDU3Mzo3OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVy IG5hbWVkIOKAmGVucXVldWVfbWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1lYW4g4oCYZW5xdWV1ZV9k ZWNfb3Bz4oCZPwogIGRldi0+ZW5xdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2VucXVldWVfbWxkdHM7 CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICAgZW5xdWV1ZV9kZWNfb3BzCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU3NDo3OiBlcnJvcjog4oCYc3RydWN0IHJ0 ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRlcXVldWVfbWxkdHNfb3Bz4oCZOyBk aWQgeW91IG1lYW4g4oCYZGVxdWV1ZV9kZWNfb3Bz4oCZPwogIGRldi0+ZGVxdWV1ZV9tbGR0c19v cHMgPSB2cmIyX2RlcXVldWVfbWxkdHM7CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICAg ZGVxdWV1ZV9kZWNfb3BzCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3Jz ClsyMTc4LzI3MTRdIEdlbmVyYXRpbmcgcnRlX2V2ZW50X3N3LnBtZC5jIHdpdGggYSBjdXN0b20g Y29tbWFuZApbMjE3OS8yNzE0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRl X2V2ZW50X29jdGVvbnR4LmEucC9ldmVudF9vY3Rlb250eF9zc292Zl9ldmRldl9zZWxmdGVzdC5j Lm8KWzIxODAvMjcxNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNl YmFuZF9sYTEyeHguYS5wL2Jhc2ViYW5kX2xhMTJ4eF9iYmRldl9sYTEyeHguYy5vClsyMTgxLzI3 MTRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBnYV9s dGVfZmVjLmEucC9iYXNlYmFuZF9mcGdhX2x0ZV9mZWNfZnBnYV9sdGVfZmVjLmMubwpbMjE4Mi8y NzE0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2Ff NWducl9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWNfcnRlX2ZwZ2FfNWducl9mZWMuYy5v ClsyMTgzLzI3MTRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfZXZlbnRf b2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nzb3ZmX3dvcmtlci5jLm8KWzIxODQvMjcxNF0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fb2N0ZW9udHguYS5w L2NyeXB0b19vY3Rlb250eF9vdHhfY3J5cHRvZGV2X29wcy5jLm8KWzIxODUvMjcxNF0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2Nu eGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8KWzIxODYvMjcxNF0gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfYWNj MTAwX3BtZC5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE2OgpP UzogVUIyMjA0LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MrMTZieXRlCkZB SUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0 ZV92cmJfcG1kLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAg LUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYmFzZWJhbmQvYWNjIC1JLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9saWIvYmJkZXYgLUkuIC1JLi4gLUljb25m aWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUls aWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFs L3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1J Li4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUku Li9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0 cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1w b29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JZHJpdmVycy9i dXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1J bGliL3BjaSAtSS4uL2xpYi9wY2kgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9P RkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWlu Y2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zv cm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0 aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1X dW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8t cGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16 ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtRFJURV9MSUJSVEVfSTQwRV8xNkJZVEVf UlhfREVTQyAtRFJURV9MSUJSVEVfSUNFXzE2QllURV9SWF9ERVNDIC1mUElDIC1tYXJjaD1uYXRp dmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9y bWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIuYWNjIC1NRCAt TVEgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92 cmJfcG1kLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJh bmRfYWNjX3J0ZV92cmJfcG1kLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9h Y2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJh2cmJfcXVldWVfc2V0dXDigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MTAzNzozNjogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhSVEVfQkJERVZfT1BfRkZU4oCZPwogMTAzNyB8ICAgICAgICAgZWxzZSBpZiAoY29uZi0+b3Bf dHlwZSA9PSAgUlRFX0JCREVWX09QX01MRFRTKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MTAzNzozNjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJi X3ByaW50X29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6 MzE6IGVycm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8K IDEwOTUgfCAgICAgICAgIH0gZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVfQkJERVZfT1BfTUxEVFMp IHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZU CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjIyOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NDE6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiAxMDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0 cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjY2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTA5OSB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21sZHRzLT5t bGR0cy5udW1fbGF5ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9i YmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAg fCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjExMDA6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAwIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMucl9yZXAsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJk ZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzoxMTAxOjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3Bf ZmxhZ3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAg ICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMTo2NDogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDExMDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5j X3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFf QVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXZfaW5mb19n ZXTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTMzMjozMzogZXJy b3I6IOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTuKAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZf TERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT07igJk/CiAxMzMyIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04gfAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzoxMzY2OjM1OiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMzY2IHwgICAgICAgICAgICAgICAgICAgICAgICAgLnR5 cGUgICA9IFJURV9CQkRFVl9PUF9NTERUUywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxMzY5OjQ5OiBlcnJvcjog4oCYUlRFX0JCREVWX01MRFRTX1JFUOKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDEzNjkgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUxEVFNfUkVQ LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogSW4gZnVuY3Rpb24g4oCYdnJiMl9mY3dfbGRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzoxOTcyOjUzOiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFS UV80QklUX0NPTVBSRVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lP TuKAmT8KIDE5NzIgfCAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5v cF9mbGFncywgUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkgewogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82 QklUX0NPTVBSRVNTSU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IElu IGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzM3Mzo1MDogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJ TkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzM3MyB8ICAgICAgICAgb3At PnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIy X2RlcXVldWVfbGRwY19lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjM0MjU6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM0MjUgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0g cnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZW5jX29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjU4OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lO RV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNDkzIHwgICAgICAgICAgICAg ICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VO R0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU0MDo0MjogZXJyb3I6IOKAmFJURV9CQkRF Vl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzU0MCB8ICAgICAg ICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJP UjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9sZHBjX2RlY19vbmVfb3Bf Y2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NTo0MjogZXJy b3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZ PwogMzU5NSB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JC REVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9k ZWNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM2 Nzc6NTg6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVO VF9FUlJPUuKAmT8KIDM2NzcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5l bmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9k bWFfZGVzY19mZnRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzozOTkwOjUxOiBlcnJvcjog4oCYUlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lOR+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJE RVZfRkZUX1dJTkRPV0lOR+KAmT8KIDM5OTAgfCAgICAgICAgIGJvb2wgd2luX2VuID0gY2hlY2tf Yml0KG9wLT5mZnQub3BfZmxhZ3MsIFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkcpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDE2OjI1OiBlcnJvcjog4oCYUlRFX0JCREVWX01B WF9DU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhSVEVfQkJERVZfTUFYX0NTXzLigJk/CiA0MDE2IHwgICAgICAgICBmb3IgKGkgPSAw OyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBSVEVf QkJERVZfTUFYX0NTXzIKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24g4oCYdnJiX2VucXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDQ5OjIyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9v cF9mZnTigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmQogNDA0 OSB8ICAgICAgICAgd2luID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5kYXRhOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MDUzOjI5OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTigJkgaGFzIG5v IG1lbWJlciBuYW1lZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmQogNDA1MyB8ICAgICAgICAgd2lu X29mZnNldCA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE0Mjo0MjogZXJyb3I6IOKAmFJURV9CQkRF Vl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogNDE0MiB8ICAgICAg ICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJP UjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDE5MjoyODogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MTkyIHwgdnJi Ml9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFj Y19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24g4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjIyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NCB8ICAgICAgICAgZmN3 LT5ucmIgPSBvcC0+bWxkdHMubnVtX3JiczsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTU6MjY6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MTk1IHwgICAgICAgICBmY3ctPk5MYXllcnMgPSBvcC0+bWxkdHMubnVtX2xheWVycyAt IDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NjoyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTYgfCAgICAgICAg IGZjdy0+UW1vZDAgPSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MTk3OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NyB8ICAgICAgICAgZmN3LT5RbW9kMSA9IChvcC0+ bWxkdHMucV9tWzFdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MjU6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MTk4IHwgICAgICAgICBmY3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21bMl0gPj4gMSkg LSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTkgfCAgICAgICAg IGZjdy0+UW1vZDMgPSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjAxOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwMSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1f bGF5ZXJzID09IDIpIHsKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDUgfCAgICAgICAg IGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAzKQogICAgICB8ICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjIzOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDIwNyB8ICAgICAgICAgZmN3LT5ScmVwID0gb3AtPm1sZHRzLnJfcmVwOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMDg6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjA4IHwgICAgICAgICBmY3ctPkNyZXAgPSBvcC0+ bWxkdHMuY19yZXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjEzOjMzOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KIDQyMTMgfCB2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVu Y3Rpb24g4oCYdnJiMl9kbWFfZGVzY19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMjY6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI2IHwgICAgICAgICBp ZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNzoxOTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjcg fCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjg6MTU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MjI4IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAy KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjI5OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIyOSB8ICAgICAgICAgICAgICAgICBvcC0+ bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMwOjE1OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIz MCB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMToxOTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQyMzEgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMg PSA0OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIzMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzIgfCAgICAgICAgIGZvciAo aSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjMzOjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMyB8ICAgICAgICAgICAgICAgICBvdXRzaXplX3Blcl9y ZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDoy MDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJz ICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIzNDozODogZXJyb3I6IOKAmFJURV9CQkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJS T1LigJk/CiA0MjM0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9C QkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDo2MTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQy MzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVS UkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNSB8ICAgICAg ICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxk dHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzUgfCAgICAgICAg IHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRz LnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzY6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM2IHwgICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJf cmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIzNzozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXpl X3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMjE6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3JfcGVyX3JyZXDi gJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQy MjEgfCAgICAgICAgIHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJ WkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjA6 MTg6IGVycm9yOiB2YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBb LVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjAgfCAgICAgICAgIHVpbnQxNl90 IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjE5OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVyX3Jl4oCZIHNl dCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjE5IHwg ICAgICAgICB1aW50MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEy LCAxNn07IC8qIExheWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2 ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODozNjogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRl ciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3Ig ZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50 KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9jaGVja19tbGRfcl9jb25z dHJhaW504oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6MTU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0Mjc1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLmNfcmVwID09IDApCiAg ICAgIHwgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo3OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjc4IHwgICAgICAgICBsYXllcl9pZHgg PSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9N SU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3OCB8ICAgICAgICAgbGF5ZXJfaWR4 ID0gUlRFX01JTihvcC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUv cnRlX2NvbW1vbi5oOjYxNTozNDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVf TUlO4oCZCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODAgfCAgICAgICAg IHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfY29tbW9uLmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJU RV9NSU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4MCB8ICAgICAgICAgcnJlcF9p ZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9j b21tb24uaDo2MTU6MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKA mQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyODQ6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjg0IHwgICAgICAgICByZXR1 cm4gKG9wLT5tbGR0cy5udW1fcmJzIDw9IG1heF9yYltsYXllcl9pZHhdW3JyZXBfaWR4XSk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyODk6NTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xh cmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2Yg dGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDI4OSB8IGVucXVldWVf bWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGVucXVldWVfbWxkdHNfc3BsaXRfb3DigJk6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDoyMTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQzMDQgfCAgICAgICAgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMDU6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA1IHwgICAgICAgICBpbnB1dF9yID0gb3At Pm1sZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNjoyMDogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQz MDYgfCAgICAgICAgIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzA3OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNyB8ICAgICAgICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRz LnFoeV9pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwODoyNDogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQz MDggfCAgICAgICAgIG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMwOToyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDkgfCAgICAgICAgIG51bV9zeW1zID0g b3AtPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTE6Mjk6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJs ZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0MzEx IHwgICAgICAgICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6NDg6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJn dW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQxOTIg fCB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1 Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzE1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxNSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5y X3JlcCA+IDUpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMTY6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE2IHwgICAgICAgICAgICAg ICAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3OjE1OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDMxNyB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxODox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQzMTggfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXll cnMgPSAyOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDMxOToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTkgfCAgICAgICAgIGlm IChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6MTk6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MzIwIHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzMjI6Mjc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzIyIHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb3At Pm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMzozNzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQzMjMgfCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRz LnFfbVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MjA6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MzI0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9T Q1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjM4OiBl cnJvcjog4oCYUlRFX0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0NSQ19FUlJPUuKAmT8KIDQz MjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVS UkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjUgfCAg ICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3At Pm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI1IHwgICAg ICAgICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5t bGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzI2OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNiB8ICAgICAgICAgcV9zaXplID0gcXNpemVf cGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMjc6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI3IHwgICAgICAgICByX3NpemUgPSBy c2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mjk0OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYc2NfZmFjdG9yX3Blcl9y cmVw4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVd CiA0Mjk0IHwgICAgICAgICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9NTERfUlJF UF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjkzOjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVz ZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkzIHwgICAgICAgICB1aW50 MTZfdCByc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwgNDJ9OwogICAg ICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDI5MjoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHFzaXplX3Blcl9yZeKA mSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5 MiB8ICAgICAgICAgdWludDE2X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4 LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICovCiAgICAgIHwgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9w IGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NTA6IGVy cm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJh bWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9u IG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDM3MSB8IGVucXVldWVfbWxkdHNfb25lX29wKHN0 cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVu Y3Rpb24g4oCYZW5xdWV1ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDM4MjoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODIgfCAgICAgICAgIGlucHV0 X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6MjE6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0MzgzIHwgICAgICAgICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM4NDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODQgfCAgICAgICAgIG91dHB1dCA9 IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjIzOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDM4NSB8ICAgICAgICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM4NjoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODYgfCAgICAgICAgIG91dF9vZmZz ZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4ODoyOTogZXJy b3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZyb20g aW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10 eXBlc10KIDQzODggfCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDE5Mjo0ODogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq 4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KuKAmQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzODk6MzQ6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCY dnJiMl9kbWFfZGVzY19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlw ZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODkgfCAgICAgICAgIHZy YjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChvcCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwg b3V0cHV0LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6NTM6IG5vdGU6IGV4cGVjdGVkIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQyMTMgfCB2cmIyX2RtYV9kZXNjX21s ZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDAxOjI0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KIDQ0MDEgfCAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9w cywgdWludDE2X3QgbnVtKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0 aW9uIOKAmHZyYjJfZW5xdWV1ZV9tbGR0c+KAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0NDE1OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJf Y2hlY2tfbWxkX3JfY29uc3RyYWludOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg Wy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDE1IHwgICAgICAgICAgICAg ICAgIGFzX29uZV9vcCA9IHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChvcHNbaV0pOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjU2OiBub3RlOiBl eHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MjY4IHwgdnJiMl9j aGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjo1MzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQ0MTYgfCAgICAgICAgICAgICAgICAgZGVzY3NfaW5fb3AgPSBhc19vbmVfb3Ag PyAxIDogb3BzW2ldLT5tbGR0cy5jX3JlcCArIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDQyNjo1ODogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDi gJhlbnF1ZXVlX21sZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg Wy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI2IHwgICAgICAgICAgICAg ICAgICAgICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19vbmVfb3AocSwgb3BzW2ldLCBlbnF1ZXVl ZF9kZXNjcyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NzA6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJn dW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQzNzEg fCBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0Mjg6NjA6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIg b2Yg4oCYZW5xdWV1ZV9tbGR0c19zcGxpdF9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVy IHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI4IHwgICAgICAg ICAgICAgICAgICAgICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChxLCBvcHNbaV0s IGVucXVldWVkX2Rlc2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDI4OTo3Mjogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKuKAmQogNDI4OSB8IGVucXVldWVfbWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFjY19xdWV1ZSAq cSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5e fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NTo0NTogZXJyb3I6IOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0 IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFy YXRpb24gWy1XZXJyb3JdCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBhY2NfcXVldWUg KnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZGVxdWV1 ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDQ5OToxMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ0OTkgfCAgICAgICAgIG9wLT5zdGF0dXMgPSAwOwogICAg ICB8ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1 MDU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0NTA1IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0g cnNwLmlucHV0X2VyciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsKICAgICAgfCAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDY6MTk6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0NTA2IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmRt YV9lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDc6MTk6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0NTA3IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmZjd19lcnIgPDwg UlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6MTk6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA4 IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9C QkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjUwOiBlcnJvcjog4oCYUlRFX0JCREVW X0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7 IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiA0NTA4IHwgICAgICAg ICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMToxNTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQ1MTEgfCAgICAgICAgIGlmIChvcC0+c3RhdHVzICE9IDApCiAgICAgIHwgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTM6MTU6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0NTEzIHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9E UlZfRVJST1IpKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQ1MzE6MjQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91 dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDUzMSB8 ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1aW50MTZf dCBudW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJi Ml9kZXF1ZXVlX21sZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ1NDI6NTU6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYZGVxdWV1ZV9tbGR0c19v bmVfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0 aWJsZS1wb2ludGVyLXR5cGVzXQogNDU0MiB8ICAgICAgICAgICAgICAgICByZXQgPSBkZXF1ZXVl X21sZHRzX29uZV9vcChxX2RhdGEsIHEsICZvcHNbaV0sIGRlcXVldWVkX2NicywgJmFxX2RlcXVl dWVkKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KioKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjY2OiBub3RlOiBl eHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq4oCZIGJ1dCBhcmd1bWVudCBp cyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkKIDQ0NTUgfCAgICAg ICAgICAgICAgICAgc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAqKnJlZl9vcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfYmJkZXZfaW5pdOKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTczOjE0OiBlcnJvcjog4oCYc3RydWN0 IHJ0ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGVucXVldWVfbWxkdHNfb3Bz4oCZ OyBkaWQgeW91IG1lYW4g4oCYZW5xdWV1ZV9kZWNfb3Bz4oCZPwogNDU3MyB8ICAgICAgICAgZGV2 LT5lbnF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9tbGR0czsKICAgICAgfCAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgZW5xdWV1ZV9kZWNf b3BzCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU3NDoxNDogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYmJkZXbigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXF1ZXVlX21s ZHRzX29wc+KAmTsgZGlkIHlvdSBtZWFuIOKAmGRlcXVldWVfZGVjX29wc+KAmT8KIDQ1NzQgfCAg ICAgICAgIGRldi0+ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVldWVfbWxkdHM7CiAgICAg IHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGRl cXVldWVfZGVjX29wcwpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpb MjMwNS8yODE3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2V2ZW50X29j dGVvbnR4LmEucC9ldmVudF9vY3Rlb250eF9zc292Zl93b3JrZXIuYy5vClsyMzA2LzI4MTddIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBnYV9sdGVfZmVj LmEucC9iYXNlYmFuZF9mcGdhX2x0ZV9mZWNfZnBnYV9sdGVfZmVjLmMubwpbMjMwNy8yODE3XSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2xhMTJ4eC5hLnAv YmFzZWJhbmRfbGExMnh4X2JiZGV2X2xhMTJ4eC5jLm8KWzIzMDgvMjgxN10gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjLmEucC9iYXNl YmFuZF9mcGdhXzVnbnJfZmVjX3J0ZV9mcGdhXzVnbnJfZmVjLmMubwpbMjMwOS8yODE3XSBDb21w aWxpbmcgQyBvYmplY3QgYXBwL2RwZGstZHVtcGNhcC5wL2R1bXBjYXBfbWFpbi5jLm8KWzIzMTAv MjgxN10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9ldmVudF9vY3Rlb250 eC5hLnAvZXZlbnRfb2N0ZW9udHhfc3NvdmZfZXZkZXZfc2VsZnRlc3QuYy5vClsyMzExLzI4MTdd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfbnVsbC5hLnAv YmFzZWJhbmRfbnVsbF9iYmRldl9udWxsLmMubwpbMjMxMi8yODE3XSBDb21waWxpbmcgQyBvYmpl Y3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX3R1cmJvX3N3LmEucC9iYXNlYmFuZF90dXJi b19zd19iYmRldl90dXJib19zb2Z0d2FyZS5jLm8KWzIzMTMvMjgxN10gQ29tcGlsaW5nIEMgb2Jq ZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVf YWNjMTAwX3BtZC5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE3 OgpPUzogVUIyMjA0LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVE OiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3Zy Yl9wbWQuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucCAtSWRy aXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFuZC9hY2MgLUkuLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRldiAtSS4gLUkuLiAtSWNvbmZpZyAt SS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9l YWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2 L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9s aWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xp Yi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAt SS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wg LUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlkcml2ZXJzL2J1cy9w Y2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIv cGNpIC1JLi4vbGliL3BjaSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNF VF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVk ZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0 LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21p c3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24g LVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRl ZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNr ZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8t bGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19F WFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIuYWNjIC1NRCAtTVEgZHJpdmVycy9s aWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAt TUYgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92 cmJfcG1kLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2Vi YW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmJfcXVldWVfc2V0dXDigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MTAzNzozNjogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZf T1BfRkZU4oCZPwogMTAzNyB8ICAgICAgICAgZWxzZSBpZiAoY29uZi0+b3BfdHlwZSA9PSAgUlRF X0JCREVWX09QX01MRFRTKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MTAzNzozNjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX3ByaW50X29w4oCZ OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6MzE6IGVycm9yOiDi gJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KIDEwOTUgfCAgICAg ICAgIH0gZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVfQkJERVZfT1BfTUxEVFMpIHsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjIyOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NDE6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAx MDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMubnVt X3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9w bWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n 4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMDk5OjY2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTA5OSB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21sZHRzLT5tbGR0cy5udW1fbGF5 ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5o OjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkK ICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjExMDA6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvcF9tbGR0cy0+bWxkdHMucl9yZXAsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDox ODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAg IDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzox MTAxOjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJH U19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMTo2NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDExMDEgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxk dHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXZfaW5mb19nZXTigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTMzMjozMzogZXJyb3I6IOKAmFJURV9C QkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzZC SVRfQ09NUFJFU1NJT07igJk/CiAxMzMyIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04gfAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQ Q19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMzY2OjM1OiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9P UF9GRlTigJk/CiAxMzY2IHwgICAgICAgICAgICAgICAgICAgICAgICAgLnR5cGUgICA9IFJURV9C QkRFVl9PUF9NTERUUywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMzY5OjQ5OiBlcnJvcjog4oCYUlRFX0JCREVWX01MRFRTX1JFUOKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDEzNjkgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUxEVFNfUkVQLAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiMl9mY3dfbGRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoxOTcyOjUzOiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBS RVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTuKAmT8KIDE5NzIg fCAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywgUlRF X0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNT SU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKA mHZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MzM3Mzo1MDogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCY UlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzM3MyB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSAo KHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbGRw Y19lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjM0MjU6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9F VkVOVF9FUlJPUuKAmT8KIDM0MjUgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9o dW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJS T1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiX2RlcXVldWVfZW5jX29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzozNDkzOjU4OiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhS VEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNDkzIHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0 dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikg OiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VW RU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0 aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MzU0MDo0MjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJS T1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzU0MCB8ICAgICAgICAgb3AtPnN0YXR1 cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9sZHBjX2RlY19vbmVfb3BfY2LigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NTo0MjogZXJyb3I6IOKAmFJURV9C QkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzU5NSB8ICAg ICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9kZWNfb25lX29wX3Ri 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM2Nzc6NTg6IGVycm9y OiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8K IDM2NzcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykg PyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kbWFfZGVzY19mZnRf ZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozOTkwOjUxOiBl cnJvcjog4oCYUlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lOR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRkZUX1dJTkRP V0lOR+KAmT8KIDM5OTAgfCAgICAgICAgIGJvb2wgd2luX2VuID0gY2hlY2tfYml0KG9wLT5mZnQu b3BfZmxhZ3MsIFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkcpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MDE2OjI1OiBlcnJvcjog4oCYUlRFX0JCREVWX01BWF9DU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVf QkJERVZfTUFYX0NTXzLigJk/CiA0MDE2IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUlRFX0JC REVWX01BWF9DUzsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUFYX0NT XzIKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiX2VucXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MDQ5OjIyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmQogNDA0OSB8ICAgICAgICAg d2luID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDUzOjI5 OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTigJkgaGFzIG5vIG1lbWJlciBuYW1l ZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmQogNDA1MyB8ICAgICAgICAgd2luX29mZnNldCA9IG9w LT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE0Mjo0MjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJS T1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogNDE0MiB8ICAgICAgICAgb3AtPnN0YXR1 cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5 MjoyODogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5z aWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRl ZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNf ZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMg KmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiMl9mY3dfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MTk0OjIyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NCB8ICAgICAgICAgZmN3LT5ucmIgPSBvcC0+ bWxkdHMubnVtX3JiczsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTU6MjY6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk1IHwg ICAgICAgICBmY3ctPk5MYXllcnMgPSBvcC0+bWxkdHMubnVtX2xheWVycyAtIDE7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDE5NjoyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTYgfCAgICAgICAgIGZjdy0+UW1vZDAg PSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk3OjI1OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDE5NyB8ICAgICAgICAgZmN3LT5RbW9kMSA9IChvcC0+bWxkdHMucV9tWzFd ID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk4IHwg ICAgICAgICBmY3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21bMl0gPj4gMSkgLSAxOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDE5OToyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTkgfCAgICAgICAgIGZjdy0+UW1vZDMg PSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjAxOjE1OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDIwMSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDIp IHsKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIwNToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDUgfCAgICAgICAgIGlmIChvcC0+bWxk dHMubnVtX2xheWVycyA9PSAzKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwNyB8ICAg ICAgICAgZmN3LT5ScmVwID0gb3AtPm1sZHRzLnJfcmVwOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDg6MjM6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MjA4IHwgICAgICAgICBmY3ctPkNyZXAgPSBvcC0+bWxkdHMuY19yZXA7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjEzOjMzOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyMTMgfCB2 cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJi Ml9kbWFfZGVzY19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMjY6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI2IHwgICAgICAgICBpZiAob3AtPm1sZHRz LnJfcmVwID4gNSkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIyNzoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjcgfCAgICAgICAgICAg ICAgICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjg6MTU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MjI4IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI5 OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDIyOSB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xh eWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMwOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMCB8ICAgICAgICAg aWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMToxOTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQyMzEgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgICB8 ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzIgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBv cC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMzOjM3OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDIzMyB8ICAgICAgICAgICAgICAgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxk dHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDoyMDogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVW X1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDozODogZXJy b3I6IOKAmFJURV9CQkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiA0MjM0 IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJC ICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDo2MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzQgfCAgICAgICAg IHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1s ZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjM1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNSB8ICAgICAgICAgcl9udW0gPSBv cC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwog ICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzUgfCAgICAgICAgIHJfbnVtID0gb3At Pm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzY6MzM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MjM2IHwgICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzoz MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyMzcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+ bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MjE6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBu b3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjEgfCAgICAgICAg IHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2 LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjA6MTg6IGVycm9yOiB2 YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVz ZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjAgfCAgICAgICAgIHVpbnQxNl90IHJzaXplX3Blcl9y ZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjE5OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVz ZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjE5IHwgICAgICAgICB1aW50 MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExh eWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODozNjogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwg bm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24g Wy1XZXJyb3JdCiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW504oCZOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6MTU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0Mjc1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLmNfcmVwID09IDApCiAgICAgIHwgICAgICAg ICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo3OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy Nzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0Mjc4IHwgICAgICAgICBsYXllcl9pZHggPSBSVEVfTUlOKG9w LT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUg fCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3OCB8ICAgICAgICAgbGF5ZXJfaWR4ID0gUlRFX01JTihv cC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5o OjYxNTozNDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1 IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4ID0g UlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9u Lmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2 MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjgwOjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4MCB8ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlO KG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6 MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAg ICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyODQ6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjg0IHwgICAgICAgICByZXR1cm4gKG9wLT5tbGR0 cy5udW1fcmJzIDw9IG1heF9yYltsYXllcl9pZHhdW3JyZXBfaWR4XSk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQg dG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODk6NTI6 IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDI4OSB8IGVucXVldWVfbWxkdHNfc3BsaXRf b3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEluIGZ1bmN0aW9uIOKAmGVucXVldWVfbWxkdHNfc3BsaXRfb3DigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDQgfCAgICAg ICAgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDU6 MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0MzA1IHwgICAgICAgICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5w dXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNjoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDYgfCAgICAgICAg IG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA3OjIzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMwNyB8ICAgICAgICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5v ZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwODoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDggfCAgICAgICAg IG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMw OToyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQzMDkgfCAgICAgICAgIG51bV9zeW1zID0gb3AtPm1sZHRzLmNf cmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTE6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEg b2Yg4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0MzExIHwgICAgICAgICB2 cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6NDg6IG5vdGU6IGV4cGVj dGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQxOTIgfCB2cmIyX2Zjd19t bGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19t bGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE1OjE1 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMxNSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAg ICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMTY6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE2IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0 cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxNyB8ICAgICAg ICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxODoxOTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQzMTggfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDMxOToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTkgfCAgICAgICAgIGlmIChvcC0+bWxkdHMu bnVtX2xheWVycyA+IDQpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzIwIHwgICAgICAg ICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjI6Mjc6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MzIyIHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9s YXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMzozNzogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjMg fCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI0IHwgICAg ICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBD IHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjM4OiBlcnJvcjog4oCYUlRF X0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0NSQ19FUlJPUuKAmT8KIDQzMjQgfCAgICAgICAg IHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVw IGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDMyNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjUgfCAgICAgICAgIHJfbnVt ID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVw XTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMjU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI1IHwgICAgICAgICByX251bSA9 IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI2OjMz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMyNiB8ICAgICAgICAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5t bGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz Mjc6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0MzI3IHwgICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVb b3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0Mjk0OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYc2NfZmFjdG9yX3Blcl9ycmVw4oCZIHNldCBi dXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0Mjk0IHwgICAg ICAgICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsx MiwgNiwgNCwgMywgMCwgMn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjkzOjE4OiBlcnJv cjogdmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9 dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkzIHwgICAgICAgICB1aW50MTZfdCByc2l6ZV9w ZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwgNDJ9OwogICAgICB8ICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDI5MjoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5MiB8ICAgICAgICAg dWludDE2X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAv KiBMYXllciAyIHRvIDQuICovCiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NTA6IGVycm9yOiDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3 aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0 aW9uIFstV2Vycm9yXQogNDM3MSB8IGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVl dWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZW5x dWV1ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDM4MjoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODIgfCAgICAgICAgIGlucHV0X3EgPSBvcC0+bWxk dHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6MjE6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mzgz IHwgICAgICAgICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDM4NDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODQgfCAgICAgICAgIG91dHB1dCA9IG9wLT5tbGR0cy5v dXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NSB8ICAgICAg ICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDM4NjoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODYgfCAgICAgICAgIG91dF9vZmZzZXQgPSBvcC0+bWxk dHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4ODoyOTogZXJyb3I6IHBhc3Npbmcg YXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODgg fCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODog bm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1 bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDE5MiB8 IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVj dCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzODk6MzQ6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9kbWFfZGVz Y19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1p bmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODkgfCAgICAgICAgIHZyYjJfZG1hX2Rlc2Nf bWxkdHNfZmlsbChvcCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwgaW5wdXRfciwgb3V0cHV0LAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6NTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICrigJkKIDQyMTMgfCB2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0NDAxOjI0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0MDEgfCAg ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3Qg bnVtKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJf ZW5xdWV1ZV9tbGR0c+KAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NDE1OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfY2hlY2tfbWxkX3Jf Y29uc3RyYWludOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDE1IHwgICAgICAgICAgICAgICAgIGFzX29uZV9v cCA9IHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChvcHNbaV0pOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjU2OiBub3RlOiBleHBlY3RlZCDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9j b25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjo1MzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ0 MTYgfCAgICAgICAgICAgICAgICAgZGVzY3NfaW5fb3AgPSBhc19vbmVfb3AgPyAxIDogb3BzW2ld LT5tbGR0cy5jX3JlcCArIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDQyNjo1ODogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhlbnF1ZXVlX21s ZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI2IHwgICAgICAgICAgICAgICAgICAgICAgICAg cmV0ID0gZW5xdWV1ZV9tbGR0c19vbmVfb3AocSwgb3BzW2ldLCBlbnF1ZXVlZF9kZXNjcyk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzNzE6NzA6IG5vdGU6IGV4cGVj dGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQzNzEgfCBlbnF1ZXVlX21s ZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ0Mjg6NjA6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYZW5xdWV1 ZV9tbGR0c19zcGxpdF9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI4IHwgICAgICAgICAgICAgICAgICAg ICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rl c2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo3 Mjogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBh cmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDI4 OSB8IGVucXVldWVfbWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NTo0NTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJy b3JdCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZGVxdWV1ZV9tbGR0c19vbmVf b3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ5OToxMTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQ0OTkgfCAgICAgICAgIG9wLT5zdGF0dXMgPSAwOwogICAgICB8ICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDU6MTk6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0NTA1IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmlucHV0X2Vy ciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDY6MTk6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0NTA2IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmRtYV9lcnIgPDwgUlRF X0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA3IHwg ICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmZjd19lcnIgPDwgUlRFX0JCREVWX0RS Vl9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA4IHwgICAgICAgICAg ICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVf RVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjUwOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJP UuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVh biDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiA0NTA4IHwgICAgICAgICAgICAgICAgIG9w LT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MTEgfCAgICAg ICAgIGlmIChvcC0+c3RhdHVzICE9IDApCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTM6MTU6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTEz IHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9EUlZfRVJST1IpKQog ICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ1MzE6MjQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDUzMSB8ICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1aW50MTZfdCBudW0pCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kZXF1ZXVlX21s ZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NDI6NTU6IGVy cm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYZGVxdWV1ZV9tbGR0c19vbmVfb3DigJkgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogNDU0MiB8ICAgICAgICAgICAgICAgICByZXQgPSBkZXF1ZXVlX21sZHRzX29uZV9v cChxX2RhdGEsIHEsICZvcHNbaV0sIGRlcXVldWVkX2NicywgJmFxX2RlcXVldWVkKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKioKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjY2OiBub3RlOiBleHBlY3RlZCDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkKIDQ0NTUgfCAgICAgICAgICAgICAgICAg c3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKnJlZl9vcCwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fl5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfYmJkZXZfaW5pdOKAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTczOjE0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRlduKA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGVucXVldWVfbWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1l YW4g4oCYZW5xdWV1ZV9kZWNfb3Bz4oCZPwogNDU3MyB8ICAgICAgICAgZGV2LT5lbnF1ZXVlX21s ZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9tbGR0czsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgZW5xdWV1ZV9kZWNfb3BzCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU3NDoxNDogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYmJkZXbigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXF1ZXVlX21sZHRzX29wc+KAmTsg ZGlkIHlvdSBtZWFuIOKAmGRlcXVldWVfZGVjX29wc+KAmT8KIDQ1NzQgfCAgICAgICAgIGRldi0+ ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVldWVfbWxkdHM7CiAgICAgIHwgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGRlcXVldWVfZGVjX29w cwpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjI5OS8yODEzXSBH ZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2NyeXB0b19vY3Rlb250eC5wbWQuYyB3aXRoIGEgY3VzdG9t IGNvbW1hbmQKWzIzMDAvMjgxM10gTGlua2luZyB0YXJnZXQgZHJpdmVycy9saWJydGVfZXZlbnRf c3cuc28uMjMuMgpbMjMwMS8yODEzXSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2V2ZW50X29jdGVv bnR4LnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbMjMwMi8yODEzXSBHZW5lcmF0aW5nIGRy aXZlcnMvcnRlX2Jhc2ViYW5kX2xhMTJ4eC5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzIz MDMvMjgxM10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9m cGdhX2x0ZV9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlY19mcGdhX2x0ZV9mZWMuYy5vClsy MzA0LzI4MTNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRf ZnBnYV81Z25yX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV81Z25yX2ZlY19ydGVfZnBnYV81Z25yX2Zl Yy5jLm8KWzIzMDUvMjgxM10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9i YXNlYmFuZF9udWxsLmEucC9iYXNlYmFuZF9udWxsX2JiZGV2X251bGwuYy5vClsyMzA2LzI4MTNd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVyYm9fc3cu YS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3YXJlLmMubwpbMjMwNy8yODEz XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAv YmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBfcG1kLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoK KkJ1aWxkIEZhaWxlZCAjMTg6Ck9TOiBVQjIyMDQtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWNsYW5nCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAv YmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfYWNjLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFu ZC9hY2MgLUkuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRl diAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xp Yi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgv aW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1J bGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFs IC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRy aWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xp Yi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGli L3JpbmcgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJz L2J1cy9wY2kvbGludXggLUlsaWIvcGNpIC1JLi4vbGliL3BjaSAtZmNvbG9yLWRpYWdub3N0aWNz IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJy b3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdm b3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVj bGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5 bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJv dG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1l bWJlciAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMg LW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9B UEkgLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIuYWNjIC1EUlRFX0FOTk9UQVRFX0xP Q0tTIC1XdGhyZWFkLXNhZmV0eSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9h Y2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0 ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8uZCAtbyBkcml2 ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQu Yy5vIC1jIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmMKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjI5OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX09QX01MRFRTJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJE RVZfT1BfRkZUJz8KICAgICAgICBlbHNlIGlmIChjb25mLT5vcF90eXBlID09ICBSVEVfQkJERVZf T1BfTUxEVFMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZG VAouLi9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6ODU4OjI6IG5vdGU6ICdSVEVfQkJERVZfT1Bf RkZUJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX09QX0ZGVCwgIC8qKjwgRkZUICov CiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6MjQ6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMn OyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogICAgICAgIH0gZWxzZSBpZiAob3Bf dHlwZSA9PSBSVEVfQkJERVZfT1BfTUxEVFMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9C QkRFVl9PUF9GRlQKLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRF X0JCREVWX09QX0ZGVCcgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAv Kio8IEZGVCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzoxMDk5OjEzOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxk dHMtPm1sZHRzLm51bV9yYnMsIG9wX21sZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92 cmJfcG1kLmg6MTg6NTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2JiZGV2X2xvZycK ICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NjoxMDogbm90ZTog Zm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wX21sZHRzID0gKHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKikgb3A7CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6Mzg6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMt Pm1sZHRzLm51bV9sYXllcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJf cG1kLmg6MTg6NTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2JiZGV2X2xvZycKICAg ICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NjoxMDogbm90ZTogZm9y d2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAg ICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wX21sZHRzID0gKHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKikgb3A7CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDA6MTM6IGVycm9yOiBpbmNvbXBsZXRlIGRl ZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMucl9yZXAsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fn5+fn5eCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9w bWQuaDoxODo1OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAg ICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk2OjEwOiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3BfbWxkdHMgPSAoc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqKSBvcDsKICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMToxMzogZXJyb3I6IGluY29tcGxldGUgZGVm aW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRz Lm9wX2ZsYWdzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ3J0ZV9iYmRldl9sb2cnCiAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjEwOTY6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICpvcF9tbGR0cyA9IChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICopIG9wOwogICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAx OjM2OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1s ZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5eCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdy dGVfYmJkZXZfbG9nJwogICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzox MDk2OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wJwogICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3BfbWxk dHMgPSAoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKSBvcDsKICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTMzMjo1OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX0xEUENfSEFSUV80QklU X0NPTVBSRVNTSU9OJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09N UFJFU1NJT04nPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBD X0hBUlFfNEJJVF9DT01QUkVTU0lPTiB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4uL2xpYi9i YmRldi9ydGVfYmJkZXZfb3AuaDoxODI6Mjogbm90ZTogJ1JURV9CQkRFVl9MRFBDX0hBUlFfNkJJ VF9DT01QUkVTU0lPTicgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFf NkJJVF9DT01QUkVTU0lPTiA9ICgxVUxMIDw8IDE0KSwKICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2NjoxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ1JURV9CQkRFVl9PUF9NTERUUyc7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVW X09QX0ZGVCc/CiAgICAgICAgICAgICAgICAgICAgICAgIC50eXBlICAgPSBSVEVfQkJERVZfT1Bf TUxEVFMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4v bGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcg ZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY5Ojc6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfTUxEVFNfUkVQJwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTUxE VFNfUkVQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTQwMzoyMzogZXJyb3I6IHVz ZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9PUF9NTERUUyc7IGRpZCB5b3Ug bWVhbiAnUlRFX0JCREVWX09QX0ZGVCc/CiAgICAgICAgZGV2X2luZm8tPm51bV9xdWV1ZXNbUlRF X0JCREVWX09QX01MRFRTXSA9IGQtPmFjY19jb25mLnFfbWxkLm51bV9hcXNfcGVyX2dyb3VwcyAq CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2Ji ZGV2X29wLmg6ODU4OjI6IG5vdGU6ICdSVEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAg ICAgICAgUlRFX0JCREVWX09QX0ZGVCwgIC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MTA6Mjc6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQgeW91IG1lYW4gJ1JURV9C QkRFVl9PUF9GRlQnPwogICAgICAgIGRldl9pbmZvLT5xdWV1ZV9wcmlvcml0eVtSVEVfQkJERVZf T1BfTUxEVFNdID0gZC0+YWNjX2NvbmYucV9tbGQubnVtX3Fncm91cHM7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3Au aDo4NTg6Mjogbm90ZTogJ1JURV9CQkRFVl9PUF9GRlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBS VEVfQkJERVZfT1BfRkZULCAgLyoqPCBGRlQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MTQxMjozNTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ1JURV9CQkRFVl9PUF9NTERUUyc7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX09Q X0ZGVCc/CiAgICAgICAgZm9yIChpID0gUlRFX0JCREVWX09QX05PTkU7IGkgPD0gUlRFX0JCREVW X09QX01MRFRTOyBpKyspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6ODU4OjI6IG5v dGU6ICdSVEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX09Q X0ZGVCwgIC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjE5NzI6NDY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdS VEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04nOyBkaWQgeW91IG1lYW4gJ1JURV9C QkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTic/CiAgICAgICAgfSBlbHNlIGlmIChjaGVj a19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLCBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09N UFJFU1NJT04pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hB UlFfNkJJVF9DT01QUkVTU0lPTgouLi9saWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6MTgyOjI6IG5v dGU6ICdSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04nIGRlY2xhcmVkIGhlcmUK ICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04gPSAoMVVMTCA8PCAx NCksCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjMzNzM6 NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfRU5HSU5F X0VSUk9SJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogICAgICAgIG9w LT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUikgOiAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9saWIvYmJkZXYvcnRl X2JiZGV2Lmg6ODMxOjI6IG5vdGU6ICdSVEVfQkJERVZfRVZFTlRfRVJST1InIGRlY2xhcmVkIGhl cmUKICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IsICAvKio8IGVycm9yIGludGVycnVwdCBl dmVudCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoz NDI1OjM1OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX0VO R0lORV9FUlJPUic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KICAgICAg ICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9S OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRVZFTlRfRVJST1IKLi4vbGliL2JiZGV2L3J0ZV9iYmRldi5oOjgzMToyOiBub3RlOiAnUlRF X0JCREVWX0VWRU5UX0VSUk9SJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX0VWRU5U X0VSUk9SLCAgLyoqPCBlcnJvciBpbnRlcnJ1cHQgZXZlbnQgKi8KICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQ5Mzo0NDogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InOyBkaWQgeW91IG1lYW4g J1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9ICgo cnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2xpYi9iYmRldi9y dGVfYmJkZXYuaDo4MzE6Mjogbm90ZTogJ1JURV9CQkRFVl9FVkVOVF9FUlJPUicgZGVjbGFyZWQg aGVyZQogICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUiwgIC8qKjwgZXJyb3IgaW50ZXJydXB0 IGV2ZW50ICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjM1NDA6MzU6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZf RU5HSU5FX0VSUk9SJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogICAg ICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJS T1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9C QkRFVl9FVkVOVF9FUlJPUgouLi9saWIvYmJkZXYvcnRlX2JiZGV2Lmg6ODMxOjI6IG5vdGU6ICdS VEVfQkJERVZfRVZFTlRfRVJST1InIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfRVZF TlRfRVJST1IsICAvKio8IGVycm9yIGludGVycnVwdCBldmVudCAqLwogICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjM1OiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX0VOR0lORV9FUlJPUic7IGRpZCB5b3UgbWVh biAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdp bmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vbGliL2Ji ZGV2L3J0ZV9iYmRldi5oOjgzMToyOiBub3RlOiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJyBkZWNs YXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SLCAgLyoqPCBlcnJvciBpbnRl cnJ1cHQgZXZlbnQgKi8KICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1p dHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4K WzIyOTkvMjgxM10gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9ldmVudF9zdy5wbWQuYyB3aXRoIGEg Y3VzdG9tIGNvbW1hbmQKWzIzMDAvMjgxM10gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9ldmVudF9v Y3Rlb250eC5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzIzMDEvMjgxM10gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9sYTEyeHguYS5wL2Jhc2ViYW5k X2xhMTJ4eF9iYmRldl9sYTEyeHguYy5vClsyMzAyLzI4MTNdIENvbXBpbGluZyBDIG9iamVjdCBh cHAvZHBkay1kdW1wY2FwLnAvZHVtcGNhcF9tYWluLmMubwpbMjMwMy8yODEzXSBDb21waWxpbmcg QyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWMuYS5wL2Jh c2ViYW5kX2ZwZ2FfNWducl9mZWNfcnRlX2ZwZ2FfNWducl9mZWMuYy5vClsyMzA0LzI4MTNdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBnYV9sdGVfZmVj LmEucC9iYXNlYmFuZF9mcGdhX2x0ZV9mZWNfZnBnYV9sdGVfZmVjLmMubwpbMjMwNS8yODEzXSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX251bGwuYS5wL2Jh c2ViYW5kX251bGxfYmJkZXZfbnVsbC5jLm8KWzIzMDYvMjgxM10gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF90dXJib19zdy5hLnAvYmFzZWJhbmRfdHVyYm9f c3dfYmJkZXZfdHVyYm9fc29mdHdhcmUuYy5vClsyMzA3LzI4MTNdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX2Fj YzEwMF9wbWQuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxOToK T1M6IFVCMjIwNC02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZG9jCkZBSUxFRDog ZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJf cG1kLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2 ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYmFzZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9saWIvYmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGli L2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIv a3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUku Li9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1J Li4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JZHJpdmVycy9idXMvcGNp IC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3Bj aSAtSS4uL2xpYi9wY2kgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRf QklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUg cnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1u b25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1X cG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYg LVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2Vk LW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxl bmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQ RVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmJiLmFjYyAtTUQgLU1RIGRyaXZlcnMvbGli dG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLU1G IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJi X3BtZC5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFu ZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1jIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g 4oCYdnJiX3F1ZXVlX3NldHVw4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjEwMzc6MzY6IGVycm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09Q X0ZGVOKAmT8KIDEwMzcgfCAgICAgICAgIGVsc2UgaWYgKGNvbmYtPm9wX3R5cGUgPT0gIFJURV9C QkRFVl9PUF9NTERUUykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjEwMzc6MzY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk IG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9wcmludF9vcOKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk1OjMxOiBlcnJvcjog4oCY UlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMDk1IHwgICAgICAg ICB9IGVsc2UgaWYgKG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX01MRFRTKSB7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVApJbiBmaWxlIGluY2x1 ZGVkIGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoyMjoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjQxOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTA5 OSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9y YnMsIG9wX21sZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1k Lmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KA mQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTA5OTo2NjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVy cywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDox ODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAg IDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzox MTAwOjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3BfbWxkdHMtPm1sZHRzLnJfcmVwLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6 MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAx OCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEw MTo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDExMDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9wX21sZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1Nf XykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6NjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAxIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRz LT5tbGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9i YmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAg fCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGV2X2luZm9fZ2V04oCZOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6MzM6IGVycm9yOiDigJhSVEVfQkJE RVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT07igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0xEUENfSEFSUV82QklU X0NPTVBSRVNTSU9O4oCZPwogMTMzMiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OIHwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENf SEFSUV82QklUX0NPTVBSRVNTSU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTM2NjozNTogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1Bf RkZU4oCZPwogMTM2NiB8ICAgICAgICAgICAgICAgICAgICAgICAgIC50eXBlICAgPSBSVEVfQkJE RVZfT1BfTUxEVFMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTM2OTo0OTogZXJyb3I6IOKAmFJURV9CQkRFVl9NTERUU19SRVDigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAxMzY5IHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX01MRFRTX1JFUCwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9u IOKAmHZyYjJfZmN3X2xkX2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MTk3Mjo1MzogZXJyb3I6IOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVT U0lPTuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT07igJk/CiAxOTcyIHwg ICAgICAgICB9IGVsc2UgaWYgKGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsIFJURV9C QkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTikpIHsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lP TgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2 cmJfZGVxdWV1ZV9lbmNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjMzNzM6NTA6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJU RV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDMzNzMgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gKChy c3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kZXF1ZXVlX2xkcGNf ZW5jX29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoz NDI1OjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZF TlRfRVJST1LigJk/CiAzNDI1IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVu ZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9S Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZy Yl9kZXF1ZXVlX2VuY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6MzQ5Mzo1ODogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRF X0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzQ5MyB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVz IHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDog MCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVO VF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmJfZGVxdWV1ZV9kZWNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjM1NDA6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM1NDAgfCAgICAgICAgIG9wLT5zdGF0dXMg fD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVf QkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfbGRwY19kZWNfb25lX29wX2Ni4oCZOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6NDI6IGVycm9yOiDigJhSVEVfQkJE RVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM1OTUgfCAgICAg ICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJS T1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZGVjX29uZV9vcF90YuKA mToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNjc3OjU4OiBlcnJvcjog 4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAz Njc3IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8g KDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZG1hX2Rlc2NfZmZ0X2Zp bGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo1MTogZXJy b3I6IOKAmFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0ZGVF9XSU5ET1dJ TkfigJk/CiAzOTkwIHwgICAgICAgICBib29sIHdpbl9lbiA9IGNoZWNrX2JpdChvcC0+ZmZ0Lm9w X2ZsYWdzLCBSVEVfQkJERVZfRkZUX0RFV0lORE9XSU5HKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9CQkRFVl9GRlRfV0lORE9XSU5HCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDAxNjoyNTogZXJyb3I6IOKAmFJURV9CQkRFVl9NQVhfQ1PigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JC REVWX01BWF9DU18y4oCZPwogNDAxNiB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IFJURV9CQkRF Vl9NQVhfQ1M7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX01BWF9DU18y Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZy Yl9lbnF1ZXVlX2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDA0OToyMjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ04oCZIGhhcyBu byBtZW1iZXIgbmFtZWQg4oCYZGV3aW5kb3dpbmdfaW5wdXTigJkKIDQwNDkgfCAgICAgICAgIHdp biA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA1MzoyOTog ZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ04oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYZGV3aW5kb3dpbmdfaW5wdXTigJkKIDQwNTMgfCAgICAgICAgIHdpbl9vZmZzZXQgPSBvcC0+ ZmZ0LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5j dGlvbiDigJh2cmJfZGVxdWV1ZV9mZnRfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQxNDI6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDQxNDIgfCAgICAgICAgIG9wLT5zdGF0dXMg fD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVf QkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog QXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6 Mjg6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lk ZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZp bml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2Zp bGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpm Y3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZy YjJfZmN3X21sZHRzX2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDE5NDoyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTQgfCAgICAgICAgIGZjdy0+bnJiID0gb3AtPm1s ZHRzLm51bV9yYnM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk1OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NSB8ICAg ICAgICAgZmN3LT5OTGF5ZXJzID0gb3AtPm1sZHRzLm51bV9sYXllcnMgLSAxOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQxOTY6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk2IHwgICAgICAgICBmY3ctPlFtb2QwID0g KG9wLT5tbGR0cy5xX21bMF0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NzoyNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQxOTcgfCAgICAgICAgIGZjdy0+UW1vZDEgPSAob3AtPm1sZHRzLnFfbVsxXSA+ PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk4OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5OCB8ICAg ICAgICAgZmN3LT5RbW9kMiA9IChvcC0+bWxkdHMucV9tWzJdID4+IDEpIC0gMTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQxOTk6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk5IHwgICAgICAgICBmY3ctPlFtb2QzID0g KG9wLT5tbGR0cy5xX21bM10gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwMToxNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQyMDEgfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAyKSB7 CiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMDU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjA1IHwgICAgICAgICBpZiAob3AtPm1sZHRz Lm51bV9sYXllcnMgPT0gMykKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNzoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDcgfCAgICAg ICAgIGZjdy0+UnJlcCA9IG9wLT5tbGR0cy5yX3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4OjIzOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDIwOCB8ICAgICAgICAgZmN3LT5DcmVwID0gb3AtPm1sZHRzLmNfcmVwOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIxMzozMzogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjEzIHwgdnJi Ml9kbWFfZGVzY19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJf ZG1hX2Rlc2NfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MjI2OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIyNiB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5y X3JlcCA+IDUpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMjc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI3IHwgICAgICAgICAgICAg ICAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI4OjE1OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDIyOCB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyOTox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyMjkgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXll cnMgPSAyOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDIzMDoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzAgfCAgICAgICAgIGlm IChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzE6MTk6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MjMxIHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzI6Mjc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjMyIHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb3At Pm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMzozNzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQyMzMgfCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRz LnFfbVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6MjA6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MjM0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9T Q1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6Mzg6IGVycm9y OiDigJhSVEVfQkJERVZfU0NQRVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogNDIzNCB8 ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAq IChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6NjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM0IHwgICAgICAgICBz Y19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0 cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzUgfCAgICAgICAgIHJfbnVtID0gb3At Pm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMzU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5t bGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2OjMzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDIzNiB8ICAgICAgICAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5u dW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6MzM6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MjM3IHwgICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1s ZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIx OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYc2NfZmFjdG9yX3Blcl9ycmVw4oCZIHNldCBidXQgbm90 IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjIxIHwgICAgICAgICB1 aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwg NCwgMywgMCwgMn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIwOjE4OiBlcnJvcjogdmFy aWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2Vk LWJ1dC1zZXQtdmFyaWFibGVdCiA0MjIwIHwgICAgICAgICB1aW50MTZfdCByc2l6ZV9wZXJfcmVb VlJCMl9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwgNDJ9OwogICAgICB8ICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIx OToxODogZXJyb3I6IHZhcmlhYmxlIOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2Vk IFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDIxOSB8ICAgICAgICAgdWludDE2 X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXll ciAyIHRvIDQuICovCiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6MzY6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5v dCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFst V2Vycm9yXQogNDI2OCB8IHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludOKAmToKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc1OjE1OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDI3NSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5jX3JlcCA9PSAwKQogICAgICB8ICAgICAgICAg ICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4 OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDI3OCB8ICAgICAgICAgbGF5ZXJfaWR4ID0gUlRFX01JTihvcC0+ bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYx NToyNTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwg ICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3 ODozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQyNzggfCAgICAgICAgIGxheWVyX2lkeCA9IFJURV9NSU4ob3At Pm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2 MTU6MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8 ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyODA6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjgwIHwgICAgICAgICBycmVwX2lkeCA9IFJU RV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5o OjYxNToyNTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1 IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4ID0gUlRFX01JTihv cC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0 OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAg ICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0Mjg0OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4NCB8ICAgICAgICAgcmV0dXJuIChvcC0+bWxkdHMu bnVtX3JicyA8PSBtYXhfcmJbbGF5ZXJfaWR4XVtycmVwX2lkeF0pOwogICAgICB8ICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRv cCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5OjUyOiBl cnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFy YW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlv biBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyODkgfCBlbnF1ZXVlX21sZHRzX3NwbGl0X29w KHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJ biBmdW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0X29w4oCZOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDQ6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA0IHwgICAgICAg ICBpbnB1dF9xID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA1OjIx OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMwNSB8ICAgICAgICAgaW5wdXRfciA9IG9wLT5tbGR0cy5yX2lucHV0 LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMDY6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA2IHwgICAgICAgICBv dXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNzoyMzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQzMDcgfCAgICAgICAgIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zm c2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMDg6MjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA4IHwgICAgICAgICBv dXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDk6 MjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0MzA5IHwgICAgICAgICBudW1fc3ltcyA9IG9wLT5tbGR0cy5jX3Jl cCArIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzExOjI5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9m IOKAmHZyYjJfZmN3X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBl IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDMxMSB8ICAgICAgICAgdnJi Ml9mY3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4OiBub3RlOiBleHBlY3Rl ZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MTkyIHwgdnJiMl9mY3dfbWxk dHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxk dHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNToxNTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQzMTUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAg ICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzE2OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxNiB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMu cl9yZXAgPSA1OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNzoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTcgfCAgICAgICAg IGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTg6MTk6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MzE4IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAg fCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMTk6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE5IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51 bV9sYXllcnMgPiA0KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIwOjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyMCB8ICAgICAgICAg ICAgICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIyOjI3OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMyMiB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5 ZXJzOyBpKyspCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzIzIHwg ICAgICAgICAgICAgICAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNCB8ICAgICAg ICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyBy ZXAgZm9yY2VkIHRvIHplcm8uICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDozODogZXJyb3I6IOKAmFJURV9C QkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiA0MzI0IHwgICAgICAgICBz Y19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBm b3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMjU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI1IHwgICAgICAgICByX251bSA9 IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzI1OjU4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNSB8ICAgICAgICAgcl9udW0gPSBv cC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNjozMzog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQzMjYgfCAgICAgICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxk dHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3 OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDMyNyB8ICAgICAgICAgcl9zaXplID0gcnNpemVfcGVyX3JlW29w LT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDI5NDoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHNjX2ZhY3Rvcl9wZXJfcnJlcOKAmSBzZXQgYnV0 IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5NCB8ICAgICAg ICAgdWludDE2X3Qgc2NfZmFjdG9yX3Blcl9ycmVwW1ZSQjJfTUxEX1JSRVBfU0laRV0gPSB7MTIs IDYsIDQsIDMsIDAsIDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MzoxODogZXJyb3I6 IHZhcmlhYmxlIOKAmHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVu dXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5MyB8ICAgICAgICAgdWludDE2X3QgcnNpemVfcGVy X3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAgfCAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyOTI6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhxc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3Qg dXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTIgfCAgICAgICAgIHVp bnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7OCwgMTIsIDE2fTsgLyog TGF5ZXIgMiB0byA0LiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzcxOjUwOiBlcnJvcjog4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIDQzNzEgfCBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVl ICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGVucXVl dWVfbWxkdHNfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzODI6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzgyIHwgICAgICAgICBpbnB1dF9xID0gb3AtPm1sZHRz LnFoeV9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgzOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4MyB8 ICAgICAgICAgaW5wdXRfciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz ODQ6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0Mzg0IHwgICAgICAgICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0 cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NToyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODUgfCAgICAgICAg IGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz ODY6MjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0Mzg2IHwgICAgICAgICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRz Lm91dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODg6Mjk6IGVycm9yOiBwYXNzaW5nIGFy Z3VtZW50IDEgb2Yg4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBw b2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0Mzg4IHwg ICAgICAgICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6NDg6IG5v dGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQxOTIgfCB2 cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3Qg YWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0Mzg5OjM0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfZG1hX2Rlc2Nf bWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0Mzg5IHwgICAgICAgICB2cmIyX2RtYV9kZXNjX21s ZHRzX2ZpbGwob3AsICZkZXNjLT5yZXEsIGlucHV0X3EsIGlucHV0X3IsIG91dHB1dCwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjEzOjUzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAq4oCZCiA0MjEzIHwgdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDQwMToyNDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NDAxIHwgICAg ICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51 bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Vu cXVldWVfbWxkdHPigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQx NTo2MDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2NoZWNrX21sZF9yX2Nv bnN0cmFpbnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29t cGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQxNSB8ICAgICAgICAgICAgICAgICBhc19vbmVfb3Ag PSB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQob3BzW2ldKTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODo1Njogbm90ZTogZXhwZWN0ZWQg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDI2OCB8IHZyYjJfY2hlY2tfbWxkX3JfY29u c3RyYWludChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCkgewogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTY6NTM6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NDE2 IHwgICAgICAgICAgICAgICAgIGRlc2NzX2luX29wID0gYXNfb25lX29wID8gMSA6IG9wc1tpXS0+ bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQ0MjY6NTg6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYZW5xdWV1ZV9tbGR0 c19vbmVfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29t cGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIHJl dCA9IGVucXVldWVfbWxkdHNfb25lX29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH5+fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzcxOjcwOiBub3RlOiBleHBlY3Rl ZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MzcxIHwgZW5xdWV1ZV9tbGR0 c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq b3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NDI4OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGVucXVldWVf bWxkdHNfc3BsaXRfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyOCB8ICAgICAgICAgICAgICAgICAgICAg ICAgIHJldCA9IGVucXVldWVfbWxkdHNfc3BsaXRfb3AocSwgb3BzW2ldLCBlbnF1ZXVlZF9kZXNj cyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODk6NzI6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJn dW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQyODkg fCBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NDU6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9y XQogNDQ1NSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGRlcXVldWVfbWxkdHNfb25lX29w 4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0OTk6MTE6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0NDk5IHwgICAgICAgICBvcC0+c3RhdHVzID0gMDsKICAgICAgfCAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA1OjE5OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDUwNSB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5pbnB1dF9lcnIg PDwgUlRFX0JCREVWX0RBVEFfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA2OjE5OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDUwNiB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5kbWFfZXJyIDw8IFJURV9C QkRFVl9EUlZfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA3OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUwNyB8ICAg ICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5mY3dfZXJyIDw8IFJURV9CQkRFVl9EUlZf RVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUwOCB8ICAgICAgICAgICAg ICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDUwODo1MDogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1Li gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g 4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogNDUwOCB8ICAgICAgICAgICAgICAgICBvcC0+ c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTE6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTExIHwgICAgICAg ICBpZiAob3AtPnN0YXR1cyAhPSAwKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTEzOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUxMyB8 ICAgICAgICAgaWYgKG9wLT5zdGF0dXMgJiAoMSA8PCBSVEVfQkJERVZfRFJWX0VSUk9SKSkKICAg ICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NTMxOjI0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBp bnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMg ZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ1MzEgfCAgICAgICAgICAgICAg ICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZGVxdWV1ZV9tbGR0 c+KAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTQyOjU1OiBlcnJv cjogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGRlcXVldWVfbWxkdHNfb25lX29w4oCZIGZyb20g aW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10 eXBlc10KIDQ1NDIgfCAgICAgICAgICAgICAgICAgcmV0ID0gZGVxdWV1ZV9tbGR0c19vbmVfb3Ao cV9kYXRhLCBxLCAmb3BzW2ldLCBkZXF1ZXVlZF9jYnMsICZhcV9kZXF1ZXVlZCk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NTo2Njogbm90ZTogZXhwZWN0ZWQg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq4oCZCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0 cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5efn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogSW4gZnVuY3Rpb24g4oCYdnJiX2JiZGV2X2luaXTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDU3MzoxNDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXbigJkg aGFzIG5vIG1lbWJlciBuYW1lZCDigJhlbnF1ZXVlX21sZHRzX29wc+KAmTsgZGlkIHlvdSBtZWFu IOKAmGVucXVldWVfZGVjX29wc+KAmT8KIDQ1NzMgfCAgICAgICAgIGRldi0+ZW5xdWV1ZV9tbGR0 c19vcHMgPSB2cmIyX2VucXVldWVfbWxkdHM7CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGVucXVldWVfZGVjX29wcwouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NzQ6MTQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2JiZGV24oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZGVxdWV1ZV9tbGR0c19vcHPigJk7IGRp ZCB5b3UgbWVhbiDigJhkZXF1ZXVlX2RlY19vcHPigJk/CiA0NTc0IHwgICAgICAgICBkZXYtPmRl cXVldWVfbWxkdHNfb3BzID0gdnJiMl9kZXF1ZXVlX21sZHRzOwogICAgICB8ICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICBkZXF1ZXVlX2RlY19vcHMK Y2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzI0MzAvMjc4M10gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9sYTEyeHguYS5wL2Jh c2ViYW5kX2xhMTJ4eF9iYmRldl9sYTEyeHguYy5vClsyNDMxLzI3ODNdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfZXZlbnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4 X3Nzb3ZmX2V2ZGV2X3NlbGZ0ZXN0LmMubwpbMjQzMi8yNzgzXSBDb21waWxpbmcgQyBvYmplY3Qg ZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlYy5hLnAvYmFzZWJhbmRfZnBn YV9sdGVfZmVjX2ZwZ2FfbHRlX2ZlYy5jLm8KWzI0MzMvMjc4M10gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9ldmVudF9zdy5hLnAvZXZlbnRfc3dfc3dfZXZkZXZfc2NoZWR1 bGVyLmMubwpbMjQzNC8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRl X2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWMuYS5wL2Jhc2ViYW5kX2ZwZ2FfNWducl9mZWNfcnRlX2Zw Z2FfNWducl9mZWMuYy5vClsyNDM1LzI3ODNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfYmFzZWJhbmRfbnVsbC5hLnAvYmFzZWJhbmRfbnVsbF9iYmRldl9udWxsLmMubwpb MjQzNi8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2V2ZW50X3N3 LmEucC9ldmVudF9zd19zd19ldmRldl9zZWxmdGVzdC5jLm8KWzI0MzcvMjc4M10gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9ldmVudF9vY3Rlb250eC5hLnAvZXZlbnRfb2N0 ZW9udHhfc3NvdmZfd29ya2VyLmMubwpbMjQzOC8yNzgzXSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBf cG1kLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjA6Ck9TOiBD ZW50T1M3OS02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogZHJp dmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1k LmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2ZXJz IC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYmFzZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9saWIvYmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9j b25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xp bnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNs dWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2Vh bC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3Zh cmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9s aWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4v bGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAt SS4uL2xpYi9wY2kgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1X ZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVw cmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1X bWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJu cyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAt V3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2luZy1m aWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxM T1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVM VF9MT0dUWVBFPXBtZC5iYi5hY2MgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRf YWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9y dGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vLmQgLW8gZHJp dmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1k LmMubyAtYyAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfcXVldWVfc2V0dXAn OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwMzc6Mjk6IGVycm9yOiAn UlRFX0JCREVWX09QX01MRFRTJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICBlbHNlIGlmIChjb25mLT5vcF90eXBlID09ICBSVEVfQkJERVZfT1BfTUxEVFMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjEwMzc6Mjk6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfcHJpbnRfb3AnOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTU6MjQ6IGVycm9yOiAnUlRF X0JCREVWX09QX01MRFRTJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICB9IGVsc2UgaWYgKG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX01MRFRTKSB7CiAgICAgICAgICAg ICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6MjI6MDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzoxMDk5OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xh eWVycywKICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4 OjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9iYmRldl9sb2cnCiAgICMjX19W QV9BUkdTX18pCiAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEw OTk6Mzg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21sZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9i YmRldl9sb2cnCiAgICMjX19WQV9BUkdTX18pCiAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjExMDA6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgb3BfbWxkdHMtPm1sZHRzLnJfcmVwLAogICAgICAgICAgICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyAncnRlX2JiZGV2X2xvZycKICAgIyNfX1ZBX0FSR1NfXykKICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMToxMzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICBvcF9tbGR0cy0+bWxkdHMu Y19yZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvICdydGVfYmJkZXZfbG9nJwogICAjI19fVkFfQVJHU19fKQogICAgIF4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjM2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgIG9wX21sZHRzLT5tbGR0cy5jX3JlcCwgb3Bf bWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyAncnRlX2JiZGV2X2xvZycKICAgIyNfX1ZBX0FSR1NfXykKICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJf ZGV2X2luZm9fZ2V0JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzMy OjU6IGVycm9yOiAnUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OJyB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBSVEVfQkJERVZfTERQQ19IQVJR XzRCSVRfQ09NUFJFU1NJT04gfAogICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzoxMzY2OjEyOiBlcnJvcjogJ1JURV9CQkRFVl9PUF9NTERUUycgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAudHlwZSA9IFJURV9CQkRFVl9PUF9NTERU UywKICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEz Njk6NzogZXJyb3I6ICdSVEVfQkJERVZfTUxEVFNfUkVQJyB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgICAgIFJURV9CQkRFVl9NTERUU19SRVAsCiAgICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTQwMzoyMjogZXJyb3I6IGFycmF5 IHN1YnNjcmlwdCBpcyBub3QgYW4gaW50ZWdlcgogIGRldl9pbmZvLT5udW1fcXVldWVzW1JURV9C QkRFVl9PUF9NTERUU10gPSBkLT5hY2NfY29uZi5xX21sZC5udW1fYXFzX3Blcl9ncm91cHMgKgog ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjE0MDM6MjogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVz ZWQtdmFsdWVdCiAgZGV2X2luZm8tPm51bV9xdWV1ZXNbUlRFX0JCREVWX09QX01MRFRTXSA9IGQt PmFjY19jb25mLnFfbWxkLm51bV9hcXNfcGVyX2dyb3VwcyAqCiAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MTA6MjY6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQgaXMg bm90IGFuIGludGVnZXIKICBkZXZfaW5mby0+cXVldWVfcHJpb3JpdHlbUlRFX0JCREVWX09QX01M RFRTXSA9IGQtPmFjY19jb25mLnFfbWxkLm51bV9xZ3JvdXBzOwogICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxNDEwOjI6IGVy cm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogIGRl dl9pbmZvLT5xdWV1ZV9wcmlvcml0eVtSVEVfQkJERVZfT1BfTUxEVFNdID0gZC0+YWNjX2NvbmYu cV9tbGQubnVtX3Fncm91cHM7CiAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjE0MTI6MzI6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdl ciBbLVdlcnJvcl0KICBmb3IgKGkgPSBSVEVfQkJERVZfT1BfTk9ORTsgaSA8PSBSVEVfQkJERVZf T1BfTUxEVFM7IGkrKykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2Zjd19sZF9m aWxsJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxOTcyOjQ2OiBlcnJv cjogJ1JURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTicgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgfSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxkcGNf ZGVjLm9wX2ZsYWdzLCBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTk3MjoyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVu dCAyIG9mICdjaGVja19iaXQnIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yXQogIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFn cywgUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkgewogIF4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDo4OjAsCiAgICAg ICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjIy OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9hY2NfY29tbW9uLmg6NjkxOjE6IG5vdGU6IGV4cGVj dGVkICd1aW50MzJfdCcgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2NvbnN0IHN0cnVjdCBydGVf YmJkZXZfb3BfY2FwIConCiBjaGVja19iaXQodWludDMyX3QgYml0bWFwLCB1aW50MzJfdCBiaXRt YXNrKQogXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biAndnJiX2RlcXVldWVfZW5jX29uZV9vcF9jYic6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6MzM3Mzo0MzogZXJyb3I6ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBvcC0+c3RhdHVzIHw9ICgocnNw LmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6MzM3Mzo0MDogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8g YmluYXJ5IDw8IChoYXZlICdpbnQnIGFuZCAnY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAg KicpCiAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZf RU5HSU5FX0VSUk9SKSA6IDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjMzNzM6MTM6IGVycm9y OiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSB8IChoYXZlICdpbnQnIGFuZCAnY29uc3Qgc3Ry dWN0IHJ0ZV9iYmRldl9vcF9jYXAgKicpCiAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVu ZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjMzNzM6MjogZXJyb3I6IHN0YXRl bWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAgb3AtPnN0YXR1cyB8 PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDAp OwogIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g J3ZyYjJfZGVxdWV1ZV9sZHBjX2VuY19vbmVfb3BfdGInOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjM0MjU6MzU6IGVycm9yOiAnUlRFX0JCREVWX0VOR0lORV9FUlJPUicg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgb3AtPnN0YXR1cyB8PSBy c3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MzQyNTozMjogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IDw8IChoYXZlICdp bnQnIGFuZCAnY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKicpCiAgb3AtPnN0YXR1cyB8 PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MzQyNToxMzogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IHwgKGhhdmUgJ2lu dCcgYW5kICdjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqJykKICBvcC0+c3RhdHVzIHw9 IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0MjU6MjogZXJyb3I6IHN0 YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAgb3AtPnN0YXR1 cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJfZGVxdWV1 ZV9lbmNfb25lX29wX3RiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoz NDkzOjQ0OiBlcnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5n KSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjM0OTM6NDE6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8PCAo aGF2ZSAnaW50JyBhbmQgJ2NvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConKQogICBvcC0+ c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJS T1IpIDogMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6MTQ6IGVycm9yOiBpbnZhbGlk IG9wZXJhbmRzIHRvIGJpbmFyeSB8IChoYXZlICdpbnQnIGFuZCAnY29uc3Qgc3RydWN0IHJ0ZV9i YmRldl9vcF9jYXAgKicpCiAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEg PDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQ5MzozOiBlcnJvcjogc3RhdGVtZW50IHdp dGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICAgb3AtPnN0YXR1cyB8PSAoKHJz cC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmJf ZGVxdWV1ZV9kZWNfb25lX29wX2NiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzozNTQwOjM1OiBlcnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9o dW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6MzI6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8PCAoaGF2ZSAnaW50JyBhbmQgJ2Nv bnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConKQogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2lu ZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1NDA6MTM6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSB8IChoYXZlICdpbnQnIGFuZCAnY29u c3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKicpCiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5l X2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTQwOjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0 aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogIG9wLT5zdGF0dXMgfD0gcnNwLmVu Z2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfbGRwY19kZWNf b25lX29wX2NiJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjM1 OiBlcnJvcjogJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9C QkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6MzI6IGVycm9yOiBpbnZh bGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8PCAoaGF2ZSAnaW50JyBhbmQgJ2NvbnN0IHN0cnVjdCBy dGVfYmJkZXZfb3BfY2FwIConKQogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6MTM6IGVycm9yOiBpbnZh bGlkIG9wZXJhbmRzIHRvIGJpbmFyeSB8IChoYXZlICdpbnQnIGFuZCAnY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAgKicpCiAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRF X0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzozNTk1OjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3Qg Wy1XZXJyb3I9dW51c2VkLXZhbHVlXQogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8 IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVldWVfZGVjX29uZV9vcF90Yic6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzY3Nzo0NDogZXJyb3I6ICdSVEVfQkJE RVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5H SU5FX0VSUk9SKSA6IDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNjc3OjQxOiBlcnJv cjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPDwgKGhhdmUgJ2ludCcgYW5kICdjb25zdCBz dHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqJykKICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVf aHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzozNjc3OjE0OiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgfCAo aGF2ZSAnaW50JyBhbmQgJ2NvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConKQogICBvcC0+ c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJS T1IpIDogMCk7CiAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjM2Nzc6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11 bnVzZWQtdmFsdWVdCiAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwg UlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9kbWFfZGVzY19mZnRfZmlsbCc6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo0NDogZXJyb3I6ICdSVEVf QkJERVZfRkZUX0RFV0lORE9XSU5HJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICBib29sIHdpbl9lbiA9IGNoZWNrX2JpdChvcC0+ZmZ0Lm9wX2ZsYWdzLCBSVEVfQkJE RVZfRkZUX0RFV0lORE9XSU5HKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDoyOiBl cnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mICdjaGVja19iaXQnIG1ha2VzIGludGVnZXIgZnJv bSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGJvb2wgd2luX2VuID0gY2hlY2tf Yml0KG9wLT5mZnQub3BfZmxhZ3MsIFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkcpOwogIF4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDo4OjAs CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjIyOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9hY2NfY29tbW9uLmg6NjkxOjE6IG5vdGU6 IGV4cGVjdGVkICd1aW50MzJfdCcgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2NvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwIConCiBjaGVja19iaXQodWludDMyX3QgYml0bWFwLCB1aW50MzJf dCBiaXRtYXNrKQogXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6 MTg6IGVycm9yOiAnUlRFX0JCREVWX01BWF9DUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgZm9yIChpID0gMDsgaSA8IFJURV9CQkRFVl9NQVhfQ1M7IGkrKykKICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQw MTY6MTY6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdl cnJvcl0KICBmb3IgKGkgPSAwOyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biAndnJiX2VucXVldWVfZmZ0X29uZV9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDA0OToxNTogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdCcgaGFzIG5v IG1lbWJlciBuYW1lZCAnZGV3aW5kb3dpbmdfaW5wdXQnCiAgd2luID0gb3AtPmZmdC5kZXdpbmRv d2luZ19pbnB1dC5kYXRhOwogICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDA0OTozMzogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnZGF0YScg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHdpbiA9IG9wLT5mZnQuZGV3 aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6NjogZXJyb3I6IGFzc2ln bm1lbnQgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogIHdpbiA9IG9w LT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQwNTM6MjI6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9vcF9m ZnQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2Rld2luZG93aW5nX2lucHV0JwogIHdpbl9vZmZzZXQg PSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDUzOjQwOiBlcnJvcjog cmVxdWVzdCBmb3IgbWVtYmVyICdvZmZzZXQnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUg b3IgdW5pb24KICB3aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5vZmZzZXQ7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA1MzoxMzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMg aW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgd2luX29mZnNl dCA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0OwogICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiX2RlcXVl dWVfZmZ0X29uZV9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE0 MjozNTogZXJyb3I6ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBS VEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTQyOjMyOiBlcnJvcjog aW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPDwgKGhhdmUgJ2ludCcgYW5kICdjb25zdCBzdHJ1 Y3QgcnRlX2JiZGV2X29wX2NhcCAqJykKICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8 PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTQyOjEzOiBlcnJvcjog aW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgfCAoaGF2ZSAnaW50JyBhbmQgJ2NvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwIConKQogIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8 IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE0MjoyOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZm ZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVu ZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQxOTI6NTk6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogdnJiMl9mY3dfbWxkdHNfZmls bChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMgKmZj dykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo1OTogZXJy b3I6IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hp Y2ggaXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2Zjd19tbGR0c19maWxs JzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjE1OiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGZjdy0+bnJiID0gb3At Pm1sZHRzLm51bV9yYnM7CiAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MTk0OjE1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6MjI6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ251 bV9yYnMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBmY3ctPm5yYiA9 IG9wLT5tbGR0cy5udW1fcmJzOwogICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6MTE6IGVycm9yOiBhc3NpZ25tZW50IG1ha2Vz IGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGZjdy0+bnJi ID0gb3AtPm1sZHRzLm51bV9yYnM7CiAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQxOTU6MTk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgZmN3LT5OTGF5ZXJzID0gb3AtPm1sZHRzLm51bV9sYXllcnMgLSAx OwogICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQxOTU6MTk6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhp bmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDE5NToyNjogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbnVtX2xheWVycycg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGZjdy0+TkxheWVycyA9IG9w LT5tbGR0cy5udW1fbGF5ZXJzIC0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NToxNTogZXJyb3I6IGFzc2lnbm1l bnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAg ZmN3LT5OTGF5ZXJzID0gb3AtPm1sZHRzLm51bV9sYXllcnMgLSAxOwogICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NjoxODogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBmY3ctPlFtb2QwID0gKG9w LT5tbGR0cy5xX21bMF0gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NjoxODogZXJyb3I6IHJlcXVlc3QgZm9yIG1l bWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk2OjI1OiBlcnJvcjogcmVxdWVzdCBm b3IgbWVtYmVyICdxX20nIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBm Y3ctPlFtb2QwID0gKG9wLT5tbGR0cy5xX21bMF0gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTY6MzM6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA+PiAoaGF2ZSAnY29uc3Qgc3RydWN0 IHJ0ZV9iYmRldl9vcF9jYXAnIGFuZCAnaW50JykKICBmY3ctPlFtb2QwID0gKG9wLT5tbGR0cy5x X21bMF0gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NjoxMzogZXJyb3I6IGFzc2lnbm1l bnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAg ZmN3LT5RbW9kMCA9IChvcC0+bWxkdHMucV9tWzBdID4+IDEpIC0gMTsKICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk3OjE4OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGZjdy0+UW1vZDEgPSAob3At Pm1sZHRzLnFfbVsxXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk3OjE4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVt YmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiByZXF1ZXN0IGZv ciBtZW1iZXIgJ3FfbScgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGZj dy0+UW1vZDEgPSAob3AtPm1sZHRzLnFfbVsxXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NzozMzog ZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ID4+IChoYXZlICdjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCcgYW5kICdpbnQnKQogIGZjdy0+UW1vZDEgPSAob3AtPm1sZHRzLnFf bVsxXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk3OjEzOiBlcnJvcjogYXNzaWdubWVu dCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICBm Y3ctPlFtb2QxID0gKG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MTg6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgZmN3LT5RbW9kMiA9IChvcC0+ bWxkdHMucV9tWzJdID4+IDEpIC0gMTsKICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MTg6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1i ZXIgJ21sZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5ODoyNTogZXJyb3I6IHJlcXVlc3QgZm9y IG1lbWJlciAncV9tJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgZmN3 LT5RbW9kMiA9IChvcC0+bWxkdHMucV9tWzJdID4+IDEpIC0gMTsKICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk4OjMzOiBl cnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgPj4gKGhhdmUgJ2NvbnN0IHN0cnVjdCBy dGVfYmJkZXZfb3BfY2FwJyBhbmQgJ2ludCcpCiAgZmN3LT5RbW9kMiA9IChvcC0+bWxkdHMucV9t WzJdID4+IDEpIC0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MTM6IGVycm9yOiBhc3NpZ25tZW50 IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGZj dy0+UW1vZDIgPSAob3AtPm1sZHRzLnFfbVsyXSA+PiAxKSAtIDE7CiAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToxODogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBmY3ctPlFtb2QzID0gKG9wLT5t bGR0cy5xX21bM10gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToxODogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJl ciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk5OjI1OiBlcnJvcjogcmVxdWVzdCBmb3Ig bWVtYmVyICdxX20nIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBmY3ct PlFtb2QzID0gKG9wLT5tbGR0cy5xX21bM10gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTk6MzM6IGVy cm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA+PiAoaGF2ZSAnY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAnIGFuZCAnaW50JykKICBmY3ctPlFtb2QzID0gKG9wLT5tbGR0cy5xX21b M10gPj4gMSkgLSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToxMzogZXJyb3I6IGFzc2lnbm1lbnQg bWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgZmN3 LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+IDEpIC0gMTsKICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjAxOjg6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5 ZXJzID09IDIpIHsKICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIwMTo4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5n IG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQyMDE6MTU6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGlu IHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpZiAob3AtPm1sZHRzLm51bV9s YXllcnMgPT0gMikgewogICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDIwMToyNzogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFu ZCBpbnRlZ2VyIFstV2Vycm9yXQogIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAyKSB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjA1Ojg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDMpCiAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDU6ODogZXJyb3I6IHJlcXVlc3QgZm9y IG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA1OjE1OiBlcnJvcjogcmVxdWVz dCBmb3IgbWVtYmVyICdudW1fbGF5ZXJzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9y IHVuaW9uCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDMpCiAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA1OjI3OiBlcnJvcjogY29t cGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGludGVnZXIgWy1XZXJyb3JdCiAgaWYgKG9wLT5t bGR0cy5udW1fbGF5ZXJzID09IDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjE2OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGZjdy0+UnJlcCA9IG9wLT5tbGR0cy5y X3JlcDsKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MjA3OjE2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRo aW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMDc6MjM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3JfcmVwJyBpbiBz b21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgZmN3LT5ScmVwID0gb3AtPm1sZHRz LnJfcmVwOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjA3OjEyOiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZy b20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICBmY3ctPlJyZXAgPSBvcC0+bWxk dHMucl9yZXA7CiAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MjA4OjE2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogIGZjdy0+Q3JlcCA9IG9wLT5tbGR0cy5jX3JlcDsKICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4OjE2OiBlcnJvcjogcmVxdWVz dCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlv bgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDg6MjM6IGVycm9yOiBy ZXF1ZXN0IGZvciBtZW1iZXIgJ2NfcmVwJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9y IHVuaW9uCiAgZmN3LT5DcmVwID0gb3AtPm1sZHRzLmNfcmVwOwogICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4OjEyOiBlcnJv cjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBb LVdlcnJvcl0KICBmY3ctPkNyZXAgPSBvcC0+bWxkdHMuY19yZXA7CiAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTc6MzogZXJyb3I6ICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3Jd CiAgIHVpbnQzMl90ICppbl9vZmZzZXQsIHVpbnQzMl90ICpvdXRfb2Zmc2V0KQogICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uICd2cmIyX2RtYV9k ZXNjX21sZHRzX2ZpbGwnOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MjY6ODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBp ZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIyNjo4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMjY6MTU6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3Jf cmVwJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgaWYgKG9wLT5tbGR0 cy5yX3JlcCA+IDUpCiAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjI2OjIyOiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5k IGludGVnZXIgWy1XZXJyb3JdCiAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNzo1 OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBvcC0+ bWxkdHMucl9yZXAgPSA1OwogICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MjI3OjU6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhp bmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIyNzoxMjogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAncl9yZXAnIGluIHNv bWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICAgb3AtPm1sZHRzLnJfcmVwID0gNTsK ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjc6 MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVd CiAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjI4Ojg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyODo4OiBlcnJvcjogcmVxdWVzdCBm b3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjg6MTU6IGVycm9yOiByZXF1 ZXN0IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUg b3IgdW5pb24KICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyODoyNzogZXJyb3I6IGNv bXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogIGlmIChvcC0+ bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI5OjU6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0g MjsKICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyOTo1OiBl cnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjk6 MTI6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGluIHNvbWV0aGluZyBu b3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyOTozOiBl cnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICAg b3AtPm1sZHRzLm51bV9sYXllcnMgPSAyOwogICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDIzMDo4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzA6ODogZXJyb3I6IHJlcXVlc3Qg Zm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMwOjE1OiBlcnJvcjogcmVx dWVzdCBmb3IgbWVtYmVyICdudW1fbGF5ZXJzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJl IG9yIHVuaW9uCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzA6Mjc6IGVycm9yOiBj b21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50ZWdlciBbLVdlcnJvcl0KICBpZiAob3At Pm1sZHRzLm51bV9sYXllcnMgPiA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMTo1OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBvcC0+bWxkdHMubnVtX2xheWVycyA9 IDQ7CiAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzE6NTog ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1 Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMx OjEyOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdudW1fbGF5ZXJzJyBpbiBzb21ldGhpbmcg bm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzE6Mzog ZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAg IG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMzI6MjA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKysp CiAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzI6MjA6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhp bmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzMjoyNzogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbnVtX2xheWVycycg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGZvciAoaSA9IDA7IGkgPCBv cC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMjoxNjogZXJyb3I6IGNvbXBh cmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogIGZvciAoaSA9IDA7 IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzM6MjM6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5t bGR0cy5xX21baV07CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMzM6MjM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21s ZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMzozMDogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJl ciAncV9tJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG91dHNpemVf cGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMzOjE4OiBlcnJvcjog aW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKyAoaGF2ZSAnaW50JyBhbmQgJ2NvbnN0IHN0cnVj dCBydGVfYmJkZXZfb3BfY2FwJykKICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtp XTsKICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzM6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVz ZWQtdmFsdWVdCiAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjEzOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHNjX251bSA9IG9wLT5tbGR0cy5u dW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDoxMzog ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1 Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0 OjIwOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdudW1fcmJzJyBpbiBzb21ldGhpbmcgbm90 IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVf QkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDozMTogZXJyb3I6 ICdSVEVfQkJERVZfU0NQRVJSQicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChv cC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjI5OiBlcnJvcjogaW52YWxp ZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSAnY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9j YXAgKicgYW5kICdjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqJykKICBzY19udW0gPSBv cC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCAr IDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjU0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVW X1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjM0OjU0OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6NjE6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ2Nf cmVwJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgc2NfbnVtID0gb3At Pm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAx KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjQ5OiBl cnJvcjogaW52YWxpZCBvcGVyYW5kcyB0byBiaW5hcnkgKiAoaGF2ZSAnY29uc3Qgc3RydWN0IHJ0 ZV9iYmRldl9vcF9jYXAgKicgYW5kICdjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqJykK ICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5t bGR0cy5jX3JlcCArIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6OTog ZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNh c3QgWy1XZXJyb3JdCiAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQ RVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2Zh Y3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICBeCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNToxMjogZXJyb3I6IHJlcXVlc3QgZm9yIG1l bWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjE5OiBlcnJvcjogcmVxdWVzdCBm b3IgbWVtYmVyICdudW1fcmJzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9u CiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxk dHMucl9yZXBdOwogICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMzU6NTE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJf cnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIzNTo1MTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBu b3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MjM1OjU4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdyX3JlcCcgaW4gc29tZXRo aW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMg KiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjQ4OiBlcnJvcjogYXJyYXkgc3Vic2NyaXB0IGlz IG5vdCBhbiBpbnRlZ2VyCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9w ZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIzNToyODogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUgJ2NvbnN0 IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConIGFuZCAnY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9v cF9jYXAgKicpCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJl cFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6ODogZXJyb3I6IGFzc2lnbm1lbnQg bWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgcl9u dW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9y ZXBdOwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2 OjI2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFf c2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwog ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjM2OjI2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29t ZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMzY6MzM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ251bV9sYXll cnMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBxX3NpemUgPSBxc2l6 ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzY6MjM6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQgaXMgbm90IGFuIGludGVnZXIKICBx X3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsK ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIzNjo1MDogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICogKGhhdmUg J2NvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConIGFuZCAndWludDMyX3QnKQogIHFfc2l6 ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2Ojk6IGVycm9yOiBhc3NpZ25tZW50IG1h a2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIHFfc2l6 ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzoyNjogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByX3NpemUgPSBy c2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjM3OjI2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5v dCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzc6MzM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGluIHNv bWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICByX3NpemUgPSByc2l6ZV9wZXJfcmVb b3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNzoy MzogZXJyb3I6IGFycmF5IHN1YnNjcmlwdCBpcyBub3QgYW4gaW50ZWdlcgogIHJfc2l6ZSA9IHJz aXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6 NTA6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAqIChoYXZlICdjb25zdCBzdHJ1 Y3QgcnRlX2JiZGV2X29wX2NhcCAqJyBhbmQgJ3VpbnQzMl90JykKICByX3NpemUgPSByc2l6ZV9w ZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjM3Ojk6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIg ZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIHJfc2l6ZSA9IHJzaXplX3Bl cl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIxOjExOiBlcnJvcjogdmFyaWFibGUg J3NjX2ZhY3Rvcl9wZXJfcnJlcCcgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0 LXNldC12YXJpYWJsZV0KICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9NTERfUlJF UF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjA6MTE6IGVycm9yOiB2YXJpYWJsZSAncnNpemVf cGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxl XQogIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0 Mn07CiAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MTk6MTE6IGVycm9yOiB2YXJpYWJsZSAncXNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFst V2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHFzaXplX3Blcl9yZVtW UkIyX01MRF9MQVlfU0laRV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxl dmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6MzY6IGVycm9y OiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBs aXN0IFstV2Vycm9yXQogdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJf Y2hlY2tfbWxkX3JfY29uc3RyYWludCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDI3NTo4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogIGlmIChvcC0+bWxkdHMuY19yZXAgPT0gMCkKICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3NTo4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVy ICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzU6MTU6IGVycm9yOiByZXF1ZXN0IGZvciBt ZW1iZXIgJ2NfcmVwJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgaWYg KG9wLT5tbGR0cy5jX3JlcCA9PSAwKQogICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQg ZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6MDoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjI0OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1s ZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MTE6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODoyNDog ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1 Y3R1cmUgb3IgdW5pb24KICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJz IC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjExOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvICdSVEVfTUlOJwogICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiByZXF1ZXN0 IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3Ig dW5pb24KICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9N TERfTUlOX0xBWUVSLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToxMTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byAnUlRFX01JTicKICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjI0OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGxheWVyX2lkeCA9IFJURV9NSU4ob3At Pm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwK ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDI3ODoyNDogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0 cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjIwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy Nzg6MzE6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0 cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToyMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnUlRFX01JTicKICAgdHlwZW9mIChhKSBfYSA9IChhKTsg XAogICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2 MTc6NjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vy cm9yXQogICBfYSA8IF9iID8gX2EgOiBfYjsgXAogICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDI3ODoxNDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdS VEVfTUlOJwogIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIy X01MRF9NSU5fTEFZRVIsCiAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjYxNzoxNjogZXJyb3I6IHBvaW50ZXIvaW50ZWdlciB0eXBlIG1pc21hdGNoIGluIGNv bmRpdGlvbmFsIGV4cHJlc3Npb24gWy1XZXJyb3JdCiAgIF9hIDwgX2IgPyBfYSA6IF9iOyBcCiAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3 ODoxNDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIGxheWVyX2lkeCA9 IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MTI6 IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yXQogIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMg LSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NzowOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MjM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5y X3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MTE6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8gJ1JURV9NSU4nCiAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDoyMzogZXJyb3I6IHJlcXVl c3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5p b24KICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJF UCk7CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1v bi5oOjYxNToxMTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnUlRFX01JTicKICAgdHlw ZW9mIChhKSBfYSA9IChhKTsgXAogICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdyX3JlcCcg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHJyZXBfaWR4ID0gUlRFX01J TihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToxMTogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnUlRFX01JTicKICAgdHlwZW9mIChhKSBfYSA9IChh KTsgXAogICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjgwOjIzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog IHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsK ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 NjE1OjIwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdSVEVfTUlOJwogICB0eXBlb2Yg KGEpIF9hID0gKGEpOyBcCiAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MjM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21s ZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgcnJlcF9pZHggPSBS VEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7 IFwKICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDI4MDozMDogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAncl9yZXAnIGluIHNvbWV0 aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1s ZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjA6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8gJ1JURV9NSU4nCiAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDI4MDoyOiBlcnJvcjogaW52YWxpZCBpbml0aWFsaXplcgogIHJyZXBfaWR4ID0gUlRFX01JTihv cC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICBeCkluIGZpbGUgaW5jbHVkZWQg ZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6MDoKLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTc6NjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBw b2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogICBfYSA8IF9iID8gX2EgOiBfYjsgXAogICAg ICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDoxMzogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdSVEVfTUlOJwogIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+ bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgICAgICAgIF4KLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTc6MTY6IGVycm9yOiBwb2ludGVyL2ludGVnZXIgdHlw ZSBtaXNtYXRjaCBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIFstV2Vycm9yXQogICBfYSA8IF9i ID8gX2EgOiBfYjsgXAogICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyODA6MTM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUlRFX01J TicKICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJF UCk7CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDI4MDoxMTogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0 aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3Jl cCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0Mjg0OjEyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHJldHVybiAob3AtPm1sZHRzLm51bV9yYnMgPD0gbWF4X3JiW2xh eWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyODQ6MTI6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21sZHRz JyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4NDoxOTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAn bnVtX3JicycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHJldHVybiAo b3AtPm1sZHRzLm51bV9yYnMgPD0gbWF4X3JiW2xheWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg0 OjI4OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGludGVnZXIgWy1XZXJy b3JdCiAgcmV0dXJuIChvcC0+bWxkdHMubnVtX3JicyA8PSBtYXhfcmJbbGF5ZXJfaWR4XVtycmVw X2lkeF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDI5MDozOiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3An IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgdWludDE2X3QgdG90 YWxfZW5xdWV1ZWRfZGVzY3MpCiAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24gJ2VucXVldWVfbWxkdHNfc3BsaXRfb3AnOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDQ6MTQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQu ZGF0YTsKICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMwNDoxNDogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzA0OjIxOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdxaHlfaW5wdXQnIGlu IHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpbnB1dF9xID0gb3AtPm1sZHRz LnFoeV9pbnB1dC5kYXRhOwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDozMTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAn ZGF0YScgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGlucHV0X3EgPSBv cC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDoxMDogZXJyb3I6IGFz c2lnbm1lbnQgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogIGlucHV0 X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToxNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0 YTsKICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDMwNToxNDogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBu b3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzA1OjIxOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdyX2lucHV0JyBpbiBzb21l dGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgaW5wdXRfciA9IG9wLT5tbGR0cy5yX2lu cHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzA1OjI5OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdkYXRhJyBp biBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgaW5wdXRfciA9IG9wLT5tbGR0 cy5yX2lucHV0LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDU6MTA6IGVycm9yOiBhc3NpZ25tZW50IGZy b20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcl0KICBpbnB1dF9yID0gb3AtPm1s ZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzA2OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2OjEzOiBlcnJvcjog cmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBv ciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDY6MjA6IGVy cm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ291dHB1dCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgogIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNjoy NzogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnZGF0YScgaW4gc29tZXRoaW5nIG5vdCBhIHN0 cnVjdHVyZSBvciB1bmlvbgogIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMDY6OTogZXJyb3I6IGFzc2lnbm1lbnQgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0 eXBlIFstV2Vycm9yXQogIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDc6MTY6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaW5fb2Zmc2V0ID0gb3At Pm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNzoxNjogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJl ciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA3OjIzOiBlcnJvcjogcmVxdWVzdCBmb3Ig bWVtYmVyICdxaHlfaW5wdXQnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24K ICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNzozMzog ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnb2Zmc2V0JyBpbiBzb21ldGhpbmcgbm90IGEgc3Ry dWN0dXJlIG9yIHVuaW9uCiAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzA3OjEyOiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2Vy IGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICBpbl9vZmZzZXQgPSBvcC0+ bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMDg6MTc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgb3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0 OwogICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzA4OjE3OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5n IG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMDg6MjQ6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ291dHB1dCcgaW4gc29t ZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIG91dF9vZmZzZXQgPSBvcC0+bWxkdHMu b3V0cHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDg6MzE6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIg J29mZnNldCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIG91dF9vZmZz ZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjEzOiBlcnJv cjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBb LVdlcnJvcl0KICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwOToxNTogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBudW1fc3ltcyA9 IG9wLT5tbGR0cy5jX3JlcCArIDE7CiAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA5OjE1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdt bGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDk6MjI6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1i ZXIgJ2NfcmVwJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgbnVtX3N5 bXMgPSBvcC0+bWxkdHMuY19yZXAgKyAxOwogICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDk6MTE6IGVycm9yOiBhc3NpZ25tZW50 IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIG51 bV9zeW1zID0gb3AtPm1sZHRzLmNfcmVwICsgMTsKICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxMToyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAx IG9mICd2cmIyX2Zjd19tbGR0c19maWxsJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg Wy1XZXJyb3JdCiAgdnJiMl9mY3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICBeCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5MjoxOiBub3RlOiBleHBlY3RlZCAnc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqJwogdnJiMl9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMgKmZjdykKIF4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE1Ojg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKG9wLT5tbGR0cy5yX3JlcCA+IDUpCiAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTU6ODogZXJyb3I6 IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUg b3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE1OjE1OiBl cnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdyX3JlcCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgogIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNToyMjogZXJyb3I6IGNv bXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRlZ2VyIFstV2Vycm9yXQogIGlmIChvcC0+ bWxkdHMucl9yZXAgPiA1KQogICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTY6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICBeCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNjo1OiBlcnJvcjogcmVxdWVzdCBm b3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTY6MTI6IGVycm9yOiByZXF1 ZXN0IGZvciBtZW1iZXIgJ3JfcmVwJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVu aW9uCiAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE2OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBl ZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvcC0+bWxkdHMucl9yZXAgPSA1OwogICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNzo4OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChvcC0+bWxkdHMubnVt X2xheWVycyA8IDIpCiAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMTc6ODogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzE3OjE1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdudW1fbGF5ZXJzJyBp biBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgaWYgKG9wLT5tbGR0cy5udW1f bGF5ZXJzIDwgMikKICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMTc6Mjc6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQg aW50ZWdlciBbLVdlcnJvcl0KICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMxODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMTg6NTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxk dHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE4OjEyOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVy ICdudW1fbGF5ZXJzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgIG9w LT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMTg6MzogZXJyb3I6IHN0YXRlbWVudCB3aXRoIG5vIGVmZmVj dCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTk6ODogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAob3AtPm1sZHRzLm51 bV9sYXllcnMgPiA0KQogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzE5Ojg6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhp bmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMxOToxNTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbnVtX2xheWVycycg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGlmIChvcC0+bWxkdHMubnVt X2xheWVycyA+IDQpCiAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzE5OjI3OiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5k IGludGVnZXIgWy1XZXJyb3JdCiAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzMjA6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIwOjU6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21s ZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMDoxMjogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJl ciAnbnVtX2xheWVycycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogICBv cC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIwOjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZl Y3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIyOjIwOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGZvciAoaSA9IDA7IGkg PCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIyOjIwOiBlcnJvcjogcmVxdWVzdCBm b3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjI6Mjc6IGVycm9yOiByZXF1 ZXN0IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUg b3IgdW5pb24KICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMjI6MTY6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50 ZWdlciBbLVdlcnJvcl0KICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkr KykKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MzIzOjIzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIzOjIzOiBl cnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjM6 MzA6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3FfbScgaW4gc29tZXRoaW5nIG5vdCBhIHN0 cnVjdHVyZSBvciB1bmlvbgogICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMyMzoxODogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5ICsg KGhhdmUgJ3VpbnQzMl90JyBhbmQgJ2NvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwJykKICAg b3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFfbVtpXTsKICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjM6MzogZXJyb3I6IHN0YXRl bWVudCB3aXRoIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCiAgIG91dHNpemVfcGVy X3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzI0OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVS UkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MTM6IGVycm9yOiByZXF1ZXN0IGZvciBt ZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDoyMDogZXJyb3I6IHJlcXVlc3Qg Zm9yIG1lbWJlciAnbnVtX3JicycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlv bgogIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMg cmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjMxOiBlcnJvcjogJ1JURV9CQkRFVl9TQ1BF UlJCJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBzY19udW0gPSBv cC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8g emVyby4gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjI5OiBlcnJvcjogaW52YWxpZCBvcGVyYW5kcyB0 byBiaW5hcnkgKiAoaGF2ZSAnY29uc3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKicgYW5kICdj b25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqJykKICBzY19udW0gPSBvcC0+bWxkdHMubnVt X3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMyNDo5OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBpbnRlZ2VyIGZyb20gcG9p bnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3Ji cyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6MTI6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcl9udW0gPSBvcC0+ bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNToxMjog ZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnbWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1 Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1 OjE5OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdudW1fcmJzJyBpbiBzb21ldGhpbmcgbm90 IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2Zh Y3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6NTE6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcl9udW0gPSBvcC0+bWxkdHMubnVt X3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNTo1MTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAn bWxkdHMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjU4OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVt YmVyICdyX3JlcCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIHJfbnVt ID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVw XTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjQ4OiBlcnJv cjogYXJyYXkgc3Vic2NyaXB0IGlzIG5vdCBhbiBpbnRlZ2VyCiAgcl9udW0gPSBvcC0+bWxkdHMu bnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNToyODogZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8g YmluYXJ5ICogKGhhdmUgJ2NvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConIGFuZCAnY29u c3Qgc3RydWN0IHJ0ZV9iYmRldl9vcF9jYXAgKicpCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3Ji cyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6 ODogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBh IGNhc3QgWy1XZXJyb3JdCiAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9w ZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzI2OjI2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xh eWVycyAtIDJdICogc2NfbnVtOwogICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI2OjI2OiBlcnJvcjogcmVxdWVzdCBmb3Ig bWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6MzM6IGVycm9yOiByZXF1ZXN0 IGZvciBtZW1iZXIgJ251bV9sYXllcnMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3Ig dW5pb24KICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAq IHNjX251bTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6MjM6IGVycm9yOiBhcnJheSBzdWJzY3JpcHQg aXMgbm90IGFuIGludGVnZXIKICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9s YXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNjo1MDogZXJyb3I6IGludmFsaWQgb3BlcmFu ZHMgdG8gYmluYXJ5ICogKGhhdmUgJ2NvbnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConIGFu ZCAndWludDMyX3QnKQogIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVy cyAtIDJdICogc2NfbnVtOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI2Ojk6 IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yXQogIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVy cyAtIDJdICogc2NfbnVtOwogICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMyNzoyNjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUKICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAy XSAqIHJfbnVtOwogICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3OjI2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdt bGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjc6MzM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1i ZXIgJ251bV9sYXllcnMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBy X3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDMyNzoyMzogZXJyb3I6IGFycmF5IHN1YnNjcmlwdCBpcyBub3QgYW4g aW50ZWdlcgogIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJd ICogcl9udW07CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMjc6NTA6IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFy eSAqIChoYXZlICdjb25zdCBzdHJ1Y3QgcnRlX2JiZGV2X29wX2NhcCAqJyBhbmQgJ3VpbnQzMl90 JykKICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJf bnVtOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3Ojk6IGVycm9yOiBhc3Np Z25tZW50IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9y XQogIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9u dW07CiAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjk0 OjExOiBlcnJvcjogdmFyaWFibGUgJ3NjX2ZhY3Rvcl9wZXJfcnJlcCcgc2V0IGJ1dCBub3QgdXNl ZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICB1aW50MTZfdCBzY19mYWN0b3Jf cGVyX3JyZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAg ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTM6MTE6IGVy cm9yOiB2YXJpYWJsZSAncnNpemVfcGVyX3JlJyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVu dXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9M QVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyOTI6MTE6IGVycm9yOiB2YXJpYWJsZSAncXNpemVfcGVyX3Jl JyBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIHVp bnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7OCwgMTIsIDE2fTsgLyog TGF5ZXIgMiB0byA0LiAqLwogICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzNzI6MzogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wJyBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgIHVpbnQxNl90IHRvdGFsX2VucXVl dWVkX2Rlc2NzKQogICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IElu IGZ1bmN0aW9uICdlbnF1ZXVlX21sZHRzX29uZV9vcCc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDM4MjoxNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICBpbnB1dF9xID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5kYXRhOwogICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjE0 OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0 cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz ODI6MjE6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3FoeV9pbnB1dCcgaW4gc29tZXRoaW5n IG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0 LmRhdGE7CiAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzgyOjMxOiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdkYXRhJyBpbiBz b21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgaW5wdXRfcSA9IG9wLT5tbGR0cy5x aHlfaW5wdXQuZGF0YTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjEwOiBlcnJvcjogYXNzaWdubWVudCBm cm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgaW5wdXRfcSA9IG9wLT5t bGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzgzOjE0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgzOjE0OiBl cnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVj dHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6 MjE6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3JfaW5wdXQnIGluIHNvbWV0aGluZyBub3Qg YSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsK ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQzODM6Mjk6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ2RhdGEnIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQu ZGF0YTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDM4MzoxMDogZXJyb3I6IGFzc2lnbm1lbnQgZnJvbSBpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1 dC5kYXRhOwogICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzODQ6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODQ6MTM6IGVycm9yOiByZXF1ZXN0IGZv ciBtZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NDoyMDogZXJyb3I6IHJlcXVl c3QgZm9yIG1lbWJlciAnb3V0cHV0JyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVu aW9uCiAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg0OjI3OiBlcnJvcjog cmVxdWVzdCBmb3IgbWVtYmVyICdkYXRhJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9y IHVuaW9uCiAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NDo5 OiBlcnJvcjogYXNzaWdubWVudCBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3JdCiAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NToxNjogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5 X2lucHV0Lm9mZnNldDsKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mzg1OjE2OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdtbGR0cycg aW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzODU6MjM6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3Fo eV9pbnB1dCcgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgogIGluX29mZnNl dCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0OwogICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjMzOiBlcnJvcjogcmVx dWVzdCBmb3IgbWVtYmVyICdvZmZzZXQnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3Ig dW5pb24KICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzODU6MTI6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJvbSBwb2lu dGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlf aW5wdXQub2Zmc2V0OwogICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDM4NjoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUKICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODY6MTc6 IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3Ry dWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4 NjoyNDogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnb3V0cHV0JyBpbiBzb21ldGhpbmcgbm90 IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgb3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zm c2V0OwogICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDM4NjozMTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnb2Zmc2V0JyBp biBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgb3V0X29mZnNldCA9IG9wLT5t bGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODY6MTM6IGVycm9yOiBhc3NpZ25t ZW50IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQog IG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg4OjI6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2YgJ3ZyYjJfZmN3X21sZHRzX2ZpbGwnIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSBbLVdlcnJvcl0KICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjE6IG5vdGU6IGV4cGVj dGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBl ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzOTA6NDogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMSBvZiAndnJiMl9kbWFfZGVzY19tbGR0c19maWxsJyBmcm9tIGluY29tcGF0 aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgICAmaW5fb2Zmc2V0LCAmb3V0X29mZnNldCk7 CiAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxMzoxOiBub3Rl OiBleHBlY3RlZCAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJyBidXQgYXJndW1lbnQgaXMg b2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqJwogdnJiMl9kbWFfZGVzY19tbGR0 c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogXgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDQwMToxMDogZXJyb3I6ICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYjJfZW5xdWV1 ZV9tbGR0cyc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNTozOiBl cnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mICd2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQn IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcl0KICAgYXNfb25lX29wID0g dnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KG9wc1tpXSk7CiAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjE6IG5vdGU6IGV4cGVjdGVkICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wIConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wIConCiB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqb3ApIHsKIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0NDE2OjM5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICBkZXNjc19pbl9vcCA9IGFzX29uZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVw ICsgMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTY6Mzk6IGVycm9yOiByZXF1ZXN0IGZvciBt ZW1iZXIgJ21sZHRzJyBpbiBzb21ldGhpbmcgbm90IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjo0NjogZXJyb3I6IHJlcXVlc3Qg Zm9yIG1lbWJlciAnY19yZXAnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24K ICAgZGVzY3NfaW5fb3AgPSBhc19vbmVfb3AgPyAxIDogb3BzW2ldLT5tbGR0cy5jX3JlcCArIDE7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNjozMTogZXJyb3I6IHBvaW50ZXIvaW50 ZWdlciB0eXBlIG1pc21hdGNoIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gWy1XZXJyb3JdCiAg IGRlc2NzX2luX29wID0gYXNfb25lX29wID8gMSA6IG9wc1tpXS0+bWxkdHMuY19yZXAgKyAxOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQ0MTY6MTU6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIGludGVnZXIgZnJv bSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogICBkZXNjc19pbl9vcCA9IGFzX29u ZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MjY6NDogZXJyb3I6IHBhc3Npbmcg YXJndW1lbnQgMiBvZiAnZW5xdWV1ZV9tbGR0c19vbmVfb3AnIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSBbLVdlcnJvcl0KICAgIHJldCA9IGVucXVldWVfbWxkdHNfb25lX29wKHEsIG9w c1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzNzE6MTogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KicKIGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKm9wLAogXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQ0Mjg6NDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiAnZW5xdWV1ZV9tbGR0c19z cGxpdF9vcCcgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogICAgcmV0 ID0gZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsKICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5OjE6IG5vdGU6IGV4 cGVjdGVkICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConIGJ1dCBhcmd1bWVudCBpcyBvZiB0 eXBlICdzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wIConCiBlbnF1ZXVlX21sZHRzX3NwbGl0X29w KHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogXgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NjozOiBlcnJvcjogJ3N0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJv cl0KICAgdWludDE2X3QgZGVxdWV1ZWRfb3BzLCB1aW50MzJfdCAqYXFfZGVxdWV1ZWQpCiAgIF4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ2RlcXVl dWVfbWxkdHNfb25lX29wJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NDk5OjQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg b3AtPnN0YXR1cyA9IDA7CiAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDQ5OTo0OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdzdGF0dXMnIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NDk5OjI6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9 dW51c2VkLXZhbHVlXQogIG9wLT5zdGF0dXMgPSAwOwogIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NTA1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgIG9wLT5zdGF0dXMgfD0gcnNwLmlucHV0X2VyciA8PCBSVEVfQkJE RVZfREFUQV9FUlJPUjsKICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDUwNTo1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdzdGF0dXMnIGluIHNvbWV0aGlu ZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NTA1OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9 dW51c2VkLXZhbHVlXQogICBvcC0+c3RhdHVzIHw9IHJzcC5pbnB1dF9lcnIgPDwgUlRFX0JCREVW X0RBVEFfRVJST1I7CiAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 NTA2OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg IG9wLT5zdGF0dXMgfD0gcnNwLmRtYV9lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICBe Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNjo1OiBlcnJvcjogcmVx dWVzdCBmb3IgbWVtYmVyICdzdGF0dXMnIGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3Ig dW5pb24KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA2OjM6IGVycm9y OiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvcC0+ c3RhdHVzIHw9IHJzcC5kbWFfZXJyIDw8IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA3OjU6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIG9wLT5zdGF0dXMgfD0gcnNwLmZjd19l cnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDUwNzo1OiBlcnJvcjogcmVxdWVzdCBmb3IgbWVtYmVyICdzdGF0dXMn IGluIHNvbWV0aGluZyBub3QgYSBzdHJ1Y3R1cmUgb3IgdW5pb24KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA3OjM6IGVycm9yOiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZl Y3QgWy1XZXJyb3I9dW51c2VkLXZhbHVlXQogICBvcC0+c3RhdHVzIHw9IHJzcC5mY3dfZXJyIDw8 IFJURV9CQkRFVl9EUlZfRVJST1I7CiAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0NTA4OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1I7CiAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1 MDg6NTogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnc3RhdHVzJyBpbiBzb21ldGhpbmcgbm90 IGEgc3RydWN0dXJlIG9yIHVuaW9uCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDUwODozNjogZXJyb3I6ICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1 bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6MzM6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSA8PCAoaGF2ZSAnaW50JyBhbmQgJ2Nv bnN0IHN0cnVjdCBydGVfYmJkZXZfb3BfY2FwIConKQogICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdp bmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODoz OiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0K ICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJP UjsKICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTE6ODogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAob3AtPnN0 YXR1cyAhPSAwKQogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0NTExOjg6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3N0YXR1cycgaW4gc29tZXRoaW5n IG5vdCBhIHN0cnVjdHVyZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ1MTM6ODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJURV9CQkRFVl9EUlZfRVJST1IpKQogICAg ICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTEzOjg6IGVycm9y OiByZXF1ZXN0IGZvciBtZW1iZXIgJ3N0YXR1cycgaW4gc29tZXRoaW5nIG5vdCBhIHN0cnVjdHVy ZSBvciB1bmlvbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTM6MTc6 IGVycm9yOiBpbnZhbGlkIG9wZXJhbmRzIHRvIGJpbmFyeSAmIChoYXZlICdjb25zdCBzdHJ1Y3Qg cnRlX2JiZGV2X29wX2NhcCAqJyBhbmQgJ2ludCcpCiAgaWYgKG9wLT5zdGF0dXMgJiAoMSA8PCBS VEVfQkJERVZfRFJWX0VSUk9SKSkKICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0NTMxOjEwOiBlcnJvcjogJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AnIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiAndnJiMl9kZXF1ZXVl X21sZHRzJzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTQyOjM6IGVy cm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2YgJ2RlcXVldWVfbWxkdHNfb25lX29wJyBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgIHJldCA9IGRlcXVldWVfbWxkdHNf b25lX29wKHFfZGF0YSwgcSwgJm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAmYXFfZGVxdWV1ZWQpOwog ICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NDoxOiBub3RlOiBl eHBlY3RlZCAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKicgYnV0IGFyZ3VtZW50IGlzIG9m IHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKionCiBkZXF1ZXVlX21sZHRzX29uZV9v cChzdHJ1Y3QgcnRlX2JiZGV2X3F1ZXVlX2RhdGEgKnFfZGF0YSwKIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24gJ3ZyYl9iYmRldl9pbml0JzoKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTczOjU6IGVycm9yOiAnc3RydWN0 IHJ0ZV9iYmRldicgaGFzIG5vIG1lbWJlciBuYW1lZCAnZW5xdWV1ZV9tbGR0c19vcHMnCiAgZGV2 LT5lbnF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9tbGR0czsKICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU3MzoyOiBlcnJvcjogc3RhdGVtZW50IHdp dGggbm8gZWZmZWN0IFstV2Vycm9yPXVudXNlZC12YWx1ZV0KICBkZXYtPmVucXVldWVfbWxkdHNf b3BzID0gdnJiMl9lbnF1ZXVlX21sZHRzOwogIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0NTc0OjU6IGVycm9yOiAnc3RydWN0IHJ0ZV9iYmRldicgaGFzIG5vIG1lbWJl ciBuYW1lZCAnZGVxdWV1ZV9tbGR0c19vcHMnCiAgZGV2LT5kZXF1ZXVlX21sZHRzX29wcyA9IHZy YjJfZGVxdWV1ZV9tbGR0czsKICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDU3NDoyOiBlcnJvcjogc3RhdGVtZW50IHdpdGggbm8gZWZmZWN0IFstV2Vycm9yPXVu dXNlZC12YWx1ZV0KICBkZXYtPmRlcXVldWVfbWxkdHNfb3BzID0gdnJiMl9kZXF1ZXVlX21sZHRz OwogIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzIyMjYvMjc1 NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9sYTEyeHgu YS5wL2Jhc2ViYW5kX2xhMTJ4eF9iYmRldl9sYTEyeHguYy5vClsyMjI3LzI3NTRdIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfZnBnYV9sdGVfZmVjLmEucC9i YXNlYmFuZF9mcGdhX2x0ZV9mZWNfZnBnYV9sdGVfZmVjLmMubwpbMjIyOC8yNzU0XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2V2ZW50X3N3LmEucC9ldmVudF9zd19zd19l dmRldl9zZWxmdGVzdC5jLm8KWzIyMjkvMjc1NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJf ZmVjX3J0ZV9mcGdhXzVnbnJfZmVjLmMubwpbMjIzMC8yNzU0XSBDb21waWxpbmcgQyBvYmplY3Qg ZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX251bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZf bnVsbC5jLm8KWzIyMzEvMjc1NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9ldmVudF9vY3Rlb250eC5hLnAvZXZlbnRfb2N0ZW9udHhfc3NvdmZfZXZkZXZfc2VsZnRlc3Qu Yy5vClsyMjMyLzI3NTRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfZXZl bnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nzb3ZmX3dvcmtlci5jLm8KWzIyMzMvMjc1 NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5w L2Jhc2ViYW5kX2FjY19ydGVfYWNjMTAwX3BtZC5jLm8KWzIyMzQvMjc1NF0gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fb2N0ZW9udHguYS5wL2NyeXB0b19vY3Rl b250eF9vdHhfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWls ZCBGYWlsZWQgIzIxOgpPUzogUkhFTDkyLTY0UnQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2Vi YW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFu ZF9hY2MuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2Jhc2ViYW5kL2FjYyAt SS4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjIC1JbGliL2JiZGV2IC1JLi4vbGliL2JiZGV2IC1JLiAt SS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9p bmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRl IC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFs L2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIv a3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUls aWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYg LUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAt SWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3Bj aS9saW51eCAtSWxpYi9wY2kgLUkuLi9saWIvcGNpIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlz IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJy b3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdm b3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVj bGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5 bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJv dG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1l bWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6 ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5h dGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPXBtZC5iYi5hY2MgLU1E IC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRl X3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNl YmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5k X2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMubyAtYyAuLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9xdWV1ZV9zZXR1cOKAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjM2OiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMDM3IHwgICAgICAgICBlbHNlIGlmIChjb25mLT5v cF90eXBlID09ICBSVEVfQkJERVZfT1BfTUxEVFMpCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3OjM2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRp ZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2 cmJfcHJpbnRfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5 NTozMTogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU4oCZ PwogMTA5NSB8ICAgICAgICAgfSBlbHNlIGlmIChvcF90eXBlID09IFJURV9CQkRFVl9PUF9NTERU UykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9G RlQKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MjI6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5OTo0MTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21s ZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykK ICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6NjY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMDk5IHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMt Pm1sZHRzLm51bV9sYXllcnMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAg ICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MTEwMDo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDExMDAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5yX3JlcCwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9i YmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAg fCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjExMDE6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAxIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5v cF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAg ICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjY0OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogMTEwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRz LmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMub3BfZmxhZ3MpOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19W QV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2Rldl9pbmZv X2dldOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzMyOjMzOiBl cnJvcjog4oCYUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9O4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRF Vl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTuKAmT8KIDEzMzIgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTiB8CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6MzU6IGVycm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g 4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8KIDEzNjYgfCAgICAgICAgICAgICAgICAgICAgICAgICAu dHlwZSAgID0gUlRFX0JCREVWX09QX01MRFRTLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjEzNjk6NDk6IGVycm9yOiDigJhSVEVfQkJERVZfTUxEVFNfUkVQ4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogMTM2OSB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9NTERUU19S RVAsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Zjd19sZF9maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE5NzI6NTM6IGVycm9yOiDigJhSVEVfQkJERVZfTERQQ19I QVJRXzRCSVRfQ09NUFJFU1NJT07igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNT SU9O4oCZPwogMTk3MiB8ICAgICAgICAgfSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxkcGNfZGVj Lm9wX2ZsYWdzLCBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJR XzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZW5jX29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozMzczOjUwOiBlcnJvcjog4oCYUlRFX0JCREVWX0VO R0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRp ZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzMzczIHwgICAgICAgICBv cC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVf RVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9S Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZy YjJfZGVxdWV1ZV9sZHBjX2VuY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6MzQyNTo0MjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1Li gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g 4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzQyNSB8ICAgICAgICAgb3AtPnN0YXR1cyB8 PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9C QkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJ biBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NTg6IGVycm9yOiDigJhSVEVfQkJERVZfRU5H SU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM0OTMgfCAgICAgICAgICAg ICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZf RU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZGVjX29uZV9vcF9jYuKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTQwOjQyOiBlcnJvcjog4oCYUlRFX0JC REVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNTQwIHwgICAg ICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2xkcGNfZGVjX29uZV9v cF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjQyOiBl cnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1Li gJk/CiAzNTk1IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVf QkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVl X2RlY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MzY3Nzo1ODogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VW RU5UX0VSUk9S4oCZPwogMzY3NyB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNw LmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIy X2RtYV9kZXNjX2ZmdF9maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjM5OTA6NTE6IGVycm9yOiDigJhSVEVfQkJERVZfRkZUX0RFV0lORE9XSU5H4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9C QkRFVl9GRlRfV0lORE9XSU5H4oCZPwogMzk5MCB8ICAgICAgICAgYm9vbCB3aW5fZW4gPSBjaGVj a19iaXQob3AtPmZmdC5vcF9mbGFncywgUlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lORyk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRkZUX1dJTkRPV0lORwouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwMTY6MjU6IGVycm9yOiDigJhSVEVfQkJERVZf TUFYX0NT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmFJURV9CQkRFVl9NQVhfQ1NfMuKAmT8KIDQwMTYgfCAgICAgICAgIGZvciAoaSA9 IDA7IGkgPCBSVEVfQkJERVZfTUFYX0NTOyBpKyspCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9NQVhfQ1NfMgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJ biBmdW5jdGlvbiDigJh2cmJfZW5xdWV1ZV9mZnRfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNDk6MjI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2 X29wX2ZmdOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV04oCZCiA0 MDQ5IHwgICAgICAgICB3aW4gPSBvcC0+ZmZ0LmRld2luZG93aW5nX2lucHV0LmRhdGE7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQwNTM6Mjk6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV04oCZCiA0MDUzIHwgICAgICAgICB3 aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTQyOjQyOiBlcnJvcjog4oCYUlRFX0JC REVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiA0MTQyIHwgICAg ICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VS Uk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MTkyOjI4OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQxOTIgfCB2 cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3Qg YWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJ biBmdW5jdGlvbiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6MjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk0IHwgICAgICAgICBm Y3ctPm5yYiA9IG9wLT5tbGR0cy5udW1fcmJzOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NToyNjogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQxOTUgfCAgICAgICAgIGZjdy0+TkxheWVycyA9IG9wLT5tbGR0cy5udW1fbGF5ZXJz IC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk2OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NiB8ICAgICAg ICAgZmN3LT5RbW9kMCA9IChvcC0+bWxkdHMucV9tWzBdID4+IDEpIC0gMTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQxOTc6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk3IHwgICAgICAgICBmY3ctPlFtb2QxID0gKG9w LT5tbGR0cy5xX21bMV0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5ODoyNTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQxOTggfCAgICAgICAgIGZjdy0+UW1vZDIgPSAob3AtPm1sZHRzLnFfbVsyXSA+PiAx KSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk5OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5OSB8ICAgICAg ICAgZmN3LT5RbW9kMyA9IChvcC0+bWxkdHMucV9tWzNdID4+IDEpIC0gMTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMDE6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjAxIHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51 bV9sYXllcnMgPT0gMikgewogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwNSB8ICAgICAg ICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID09IDMpCiAgICAgIHwgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDc6MjM6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MjA3IHwgICAgICAgICBmY3ctPlJyZXAgPSBvcC0+bWxkdHMucl9yZXA7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIwODoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDggfCAgICAgICAgIGZjdy0+Q3JlcCA9IG9w LT5tbGR0cy5jX3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6MzM6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBi ZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vy cm9yXQogNDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBm dW5jdGlvbiDigJh2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNjoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjYgfCAgICAgICAg IGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI3OjE5OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIy NyB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMucl9yZXAgPSA1OwogICAgICB8ICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyODox NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyMjggfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8 IDIpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMjk6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI5IHwgICAgICAgICAgICAgICAgIG9w LT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzA6MTU6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MjMwIHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPiA0KQogICAgICB8ICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMxOjE5 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDIzMSB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xheWVy cyA9IDQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjMyOjI3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMiB8ICAgICAgICAgZm9y IChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJzOyBpKyspCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjMzIHwgICAgICAgICAgICAgICAgIG91dHNpemVfcGVy X3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0 OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9y YnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjM0OjM4OiBlcnJvcjog4oCYUlRFX0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0NSQ19F UlJPUuKAmT8KIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRF X0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9DUkNfRVJST1IKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjYxOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDIzNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQ RVJSQiAqIChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM1IHwgICAg ICAgICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5t bGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjU4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNSB8ICAgICAg ICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxk dHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzNjozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzYgfCAgICAgICAgIHFfc2l6ZSA9IHFzaXplX3Bl cl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjM3OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNyB8ICAgICAgICAgcl9zaXplID0gcnNp emVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDIyMToxODogZXJyb3I6IHZhcmlhYmxlIOKAmHNjX2ZhY3Rvcl9wZXJfcnJl cOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQog NDIyMSB8ICAgICAgICAgdWludDE2X3Qgc2NfZmFjdG9yX3Blcl9ycmVwW1ZSQjJfTUxEX1JSRVBf U0laRV0gPSB7MTIsIDYsIDQsIDMsIDAsIDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIy MDoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2Vk IFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDIyMCB8ICAgICAgICAgdWludDE2 X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAg fCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMTk6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhxc2l6ZV9wZXJfcmXigJkg c2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMTkg fCAgICAgICAgIHVpbnQxNl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7OCwg MTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0LiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBs ZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjM2OiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1l dGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBv ciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFp bnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2NoZWNrX21sZF9yX2Nv bnN0cmFpbnTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3NTox NTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyNzUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMuY19yZXAgPT0gMCkK ICAgICAgfCAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDI3ODozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyNzggfCAgICAgICAgIGxheWVyX2lk eCA9IFJURV9NSU4ob3AtPm1sZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRl L3J0ZV9jb21tb24uaDo2MTU6MjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRF X01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjc4IHwgICAgICAgICBsYXllcl9p ZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJU RV9NSU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4MCB8ICAgICAg ICAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVAp OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNs dWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY UlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBc CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyODA6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjgwIHwgICAgICAgICBycmVw X2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRl X2NvbW1vbi5oOjYxNTozNDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO 4oCZCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDI4NDoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODQgfCAgICAgICAgIHJl dHVybiAob3AtPm1sZHRzLm51bV9yYnMgPD0gbWF4X3JiW2xheWVyX2lkeF1bcnJlcF9pZHhdKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDI4OTo1MjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0Mjg5IHwgZW5xdWV1 ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYZW5xdWV1ZV9tbGR0c19zcGxpdF9vcOKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA0OjIxOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDMwNCB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDUgfCAgICAgICAgIGlucHV0X3IgPSBv cC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA2OjIwOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDMwNiB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzMDc6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA3IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxk dHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA4OjI0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDMwOCB8ICAgICAgICAgb3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzA5OjIyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwOSB8ICAgICAgICAgbnVtX3N5bXMg PSBvcC0+bWxkdHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxMToyOTogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRp YmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQz MTEgfCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0 ODogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBh cmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDE5 MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0 cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMTU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE1IHwgICAgICAgICBpZiAob3AtPm1sZHRz LnJfcmVwID4gNSkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDMxNjoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTYgfCAgICAgICAgICAg ICAgICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTc6MTU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MzE3IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE4 OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDMxOCB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xh eWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE5OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxOSB8ICAgICAgICAg aWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMDoxOTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQzMjAgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgICB8 ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMyMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjIgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBv cC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIzOjM3OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMyMyB8ICAgICAgICAgICAgICAgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxk dHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDoyMDogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQzMjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVW X1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6Mzg6 IGVycm9yOiDigJhSVEVfQkJERVZfU0NQRVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwog NDMyNCB8ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQ RVJSQjsgLyogQyByZXAgZm9yY2VkIHRvIHplcm8uICovCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9DUkNfRVJST1IKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNSB8 ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtv cC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjUgfCAg ICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3At Pm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQzMjY6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI2IHwgICAgICAgICBxX3NpemUgPSBxc2l6 ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMyNzozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjcgfCAgICAgICAgIHJfc2l6ZSA9 IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3JfcGVy X3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJs ZV0KIDQyOTQgfCAgICAgICAgIHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9S UkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyOTM6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3Qg dXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTMgfCAgICAgICAgIHVp bnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAg ICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjkyOjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVyX3Jl 4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0 MjkyIHwgICAgICAgICB1aW50MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0g ezgsIDEyLCAxNn07IC8qIExheWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0 b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo1MDog ZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MzcxIHwgZW5xdWV1ZV9tbGR0c19vbmVfb3Ao c3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBm dW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4MiB8ICAgICAgICAgaW5w dXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MzoyMTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQzODMgfCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRh OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mzg0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NCB8ICAgICAgICAgb3V0cHV0 ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODU6MjM6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0Mzg1IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0Mzg2OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4NiB8ICAgICAgICAgb3V0X29m ZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg4OjI5OiBl cnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfZmN3X21sZHRzX2ZpbGzigJkgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogNDM4OCB8ICAgICAgICAgdnJiMl9mY3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MTkyOjQ4OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAq4oCZCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDM4OTozNDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDi gJh2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0 eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4OSB8ICAgICAgICAg dnJiMl9kbWFfZGVzY19tbGR0c19maWxsKG9wLCAmZGVzYy0+cmVxLCBpbnB1dF9xLCBpbnB1dF9y LCBvdXRwdXQsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxMzo1Mzogbm90ZTogZXhwZWN0ZWQg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDIxMyB8IHZyYjJfZG1hX2Rlc2Nf bWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MDE6MjQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBi ZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vy cm9yXQogNDQwMSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq b3BzLCB1aW50MTZfdCBudW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVu Y3Rpb24g4oCYdnJiMl9lbnF1ZXVlX21sZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQ0MTU6NjA6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJi Ml9jaGVja19tbGRfcl9jb25zdHJhaW504oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlw ZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MTUgfCAgICAgICAgICAg ICAgICAgYXNfb25lX29wID0gdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KG9wc1tpXSk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6NTY6IG5vdGU6 IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQg aXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQyNjggfCB2cmIy X2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE2OjUzOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDQxNiB8ICAgICAgICAgICAgICAgICBkZXNjc19pbl9vcCA9IGFzX29uZV9v cCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI2OjU4OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9m IOKAmGVucXVldWVfbWxkdHNfb25lX29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlw ZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MjYgfCAgICAgICAgICAg ICAgICAgICAgICAgICByZXQgPSBlbnF1ZXVlX21sZHRzX29uZV9vcChxLCBvcHNbaV0sIGVucXVl dWVkX2Rlc2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo3 MDogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBh cmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDM3 MSB8IGVucXVldWVfbWxkdHNfb25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQyODo2MDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQg MiBvZiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0X29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50 ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQ0MjggfCAgICAg ICAgICAgICAgICAgICAgICAgICByZXQgPSBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHEsIG9wc1tp XSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0Mjg5OjcyOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAq4oCZCiA0Mjg5IHwgZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVl ICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjQ1OiBlcnJvcjog4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxp c3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNs YXJhdGlvbiBbLVdlcnJvcl0KIDQ0NTUgfCAgICAgICAgICAgICAgICAgc3RydWN0IGFjY19xdWV1 ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKnJlZl9vcCwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhkZXF1 ZXVlX21sZHRzX29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0NDk5OjExOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDQ5OSB8ICAgICAgICAgb3AtPnN0YXR1cyA9IDA7CiAg ICAgIHwgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDUwNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDUgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8 PSByc3AuaW5wdXRfZXJyIDw8IFJURV9CQkRFVl9EQVRBX0VSUk9SOwogICAgICB8ICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNjox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQ1MDYgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3Au ZG1hX2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNzoxOTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQ1MDcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZmN3X2VyciA8 PCBSVEVfQkJERVZfRFJWX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwODoxOTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1 MDggfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRF X0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6NTA6IGVycm9yOiDigJhSVEVfQkJE RVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDQ1MDggfCAgICAg ICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VO R0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTExOjE1OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDUxMSB8ICAgICAgICAgaWYgKG9wLT5zdGF0dXMgIT0gMCkKICAgICAgfCAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMzoxNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQ1MTMgfCAgICAgICAgIGlmIChvcC0+c3RhdHVzICYgKDEgPDwgUlRFX0JCREVW X0RSVl9FUlJPUikpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDUzMToyNDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUg b3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NTMx IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQx Nl90IG51bSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2 cmIyX2RlcXVldWVfbWxkdHPigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDU0Mjo1NTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhkZXF1ZXVlX21sZHRz X29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21w YXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NTQyIHwgICAgICAgICAgICAgICAgIHJldCA9IGRlcXVl dWVfbWxkdHNfb25lX29wKHFfZGF0YSwgcSwgJm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAmYXFfZGVx dWV1ZWQpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cCAqKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NjY6IG5vdGU6 IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkgYnV0IGFyZ3VtZW50 IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKuKAmQogNDQ1NSB8ICAg ICAgICAgICAgICAgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9iYmRldl9pbml04oCZOgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NzM6MTQ6IGVycm9yOiDigJhzdHJ1 Y3QgcnRlX2JiZGV24oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZW5xdWV1ZV9tbGR0c19vcHPi gJk7IGRpZCB5b3UgbWVhbiDigJhlbnF1ZXVlX2RlY19vcHPigJk/CiA0NTczIHwgICAgICAgICBk ZXYtPmVucXVldWVfbWxkdHNfb3BzID0gdnJiMl9lbnF1ZXVlX21sZHRzOwogICAgICB8ICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICBlbnF1ZXVlX2Rl Y19vcHMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTc0OjE0OiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRlcXVldWVf bWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1lYW4g4oCYZGVxdWV1ZV9kZWNfb3Bz4oCZPwogNDU3NCB8 ICAgICAgICAgZGV2LT5kZXF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZGVxdWV1ZV9tbGR0czsKICAg ICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAg ZGVxdWV1ZV9kZWNfb3BzCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3Jz ClsyMjU2LzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJh bmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4LmMubwpbMjI1Ny8yNzY1 XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2V2ZW50X29jdGVvbnR4LnBtZC5jIHdpdGggYSBjdXN0 b20gY29tbWFuZApbMjI1OC8yNzY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV9sdGVfZmVjX2ZwZ2Ff bHRlX2ZlYy5jLm8KWzIyNTkvMjc2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjX3J0 ZV9mcGdhXzVnbnJfZmVjLmMubwpbMjI2MC8yNzY1XSBDb21waWxpbmcgQyBvYmplY3QgYXBwL2Rw ZGstZHVtcGNhcC5wL2R1bXBjYXBfbWFpbi5jLm8KWzIyNjEvMjc2NV0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9udWxsLmEucC9iYXNlYmFuZF9udWxsX2Ji ZGV2X251bGwuYy5vClsyMjYyLzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBhcHAvZHBkay1wZHVt cC5wL3BkdW1wX21haW4uYy5vClsyMjYzLzI3NjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVyYm9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2 X3R1cmJvX3NvZnR3YXJlLmMubwpbMjI2NC8yNzY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBfcG1k LmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjI6Ck9TOiBVQjIz MDQtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMv bGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8g CmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wIC1JZHJpdmVycyAtSS4u L2RyaXZlcnMgLUlkcml2ZXJzL2Jhc2ViYW5kL2FjYyAtSS4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj IC1JbGliL2JiZGV2IC1JLi4vbGliL2JiZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmln IC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9p bmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAt SS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29t bW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAt SWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3Rl bGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9t ZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2Ry aXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9s aWIvcGNpIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQg LVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25m aWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJh bCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXIt YXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUt c3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxp Z25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91 bmRzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRB TF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9M T0dfREVGQVVMVF9MT0dUWVBFPXBtZC5iYi5hY2MgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJz L2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5v LmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0 ZV92cmJfcG1kLmMubyAtYyAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9x dWV1ZV9zZXR1cOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3 OjM2OiBlcnJvcjog4oCYUlRFX0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/ CiAxMDM3IHwgICAgICAgICBlbHNlIGlmIChjb25mLT5vcF90eXBlID09ICBSVEVfQkJERVZfT1Bf TUxEVFMpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJU RV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDM3 OjM2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9u Y2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfcHJpbnRfb3DigJk6Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NTozMTogZXJyb3I6IOKAmFJURV9CQkRF Vl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRp ZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU4oCZPwogMTA5NSB8ICAgICAgICAgfSBlbHNl IGlmIChvcF90eXBlID09IFJURV9CQkRFVl9PUF9NTERUUykgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MjI6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5OTo0MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDEwOTkgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9t bGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5 OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTgg fCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTk6 NjY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiAxMDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv cF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAg ICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMDo0MTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDExMDAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21s ZHRzLT5tbGR0cy5yX3JlcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAg ICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6NDE6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiAxMTAxIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0 cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5tbGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf YmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAg IHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxMTAxOjY0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+bWxkdHMu b3BfZmxhZ3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9w bWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n 4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2Rldl9pbmZvX2dldOKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzMyOjMzOiBlcnJvcjog4oCYUlRFX0JCREVWX0xEUENf SEFSUV80QklUX0NPTVBSRVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVT U0lPTuKAmT8KIDEzMzIgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRF Vl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTiB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJ VF9DT01QUkVTU0lPTgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6 MzU6IGVycm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZGVOKAmT8K IDEzNjYgfCAgICAgICAgICAgICAgICAgICAgICAgICAudHlwZSAgID0gUlRFX0JCREVWX09QX01M RFRTLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JC REVWX09QX0ZGVAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjk6NDk6 IGVycm9yOiDigJhSVEVfQkJERVZfTUxEVFNfUkVQ4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogMTM2OSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9NTERUU19SRVAsCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIy X2Zjd19sZF9maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE5 NzI6NTM6IGVycm9yOiDigJhSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT07igJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCY UlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9O4oCZPwogMTk3MiB8ICAgICAgICAg fSBlbHNlIGlmIChjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLCBSVEVfQkJERVZfTERQ Q19IQVJRXzRCSVRfQ09NUFJFU1NJT04pKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVl dWVfZW5jX29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzozMzczOjUwOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZf RVZFTlRfRVJST1LigJk/CiAzMzczIHwgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2lu ZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZGVxdWV1ZV9sZHBjX2VuY19vbmVf b3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzQyNTo0Mjog ZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S 4oCZPwogMzQyNSB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRF X0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1 ZV9lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjM0OTM6NTg6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9F VkVOVF9FUlJPUuKAmT8KIDM0OTMgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSAoKHJz cC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDApOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJi X2RlcXVldWVfZGVjX29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzozNTQwOjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVf QkJERVZfRVZFTlRfRVJST1LigJk/CiAzNTQwIHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5l bmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VW RU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0 aW9uIOKAmHZyYl9kZXF1ZXVlX2xkcGNfZGVjX29uZV9vcF9jYuKAmToKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNTk1OjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lO RV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNTk1IHwgICAgICAgICBvcC0+ c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfdGLigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzY3Nzo1ODogZXJyb3I6IOKAmFJURV9C QkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzY3NyB8ICAg ICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJU RV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RtYV9kZXNjX2ZmdF9maWxs4oCZOgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM5OTA6NTE6IGVycm9yOiDigJhS VEVfQkJERVZfRkZUX0RFV0lORE9XSU5H4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9GRlRfV0lORE9XSU5H4oCZPwog Mzk5MCB8ICAgICAgICAgYm9vbCB3aW5fZW4gPSBjaGVja19iaXQob3AtPmZmdC5vcF9mbGFncywg UlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lORyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfRkZUX1dJTkRPV0lORwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQwMTY6MjU6IGVycm9yOiDigJhSVEVfQkJERVZfTUFYX0NT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9NQVhf Q1NfMuKAmT8KIDQwMTYgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBSVEVfQkJERVZfTUFYX0NT OyBpKyspCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9NQVhfQ1NfMgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZW5xdWV1 ZV9mZnRfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQw NDk6MjI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMgbm8gbWVtYmVy IG5hbWVkIOKAmGRld2luZG93aW5nX2lucHV04oCZCiA0MDQ5IHwgICAgICAgICB3aW4gPSBvcC0+ ZmZ0LmRld2luZG93aW5nX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQwNTM6Mjk6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2JiZGV2X29wX2ZmdOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRld2lu ZG93aW5nX2lucHV04oCZCiA0MDUzIHwgICAgICAgICB3aW5fb2Zmc2V0ID0gb3AtPmZmdC5kZXdp bmRvd2luZ19pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiX2RlcXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MTQyOjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVf QkJERVZfRVZFTlRfRVJST1LigJk/CiA0MTQyIHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5l bmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VW RU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBs ZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjI4OiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1l dGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBv ciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQxOTIgfCB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2Zjd19t bGR0c19maWxs4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTQ6 MjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0MTk0IHwgICAgICAgICBmY3ctPm5yYiA9IG9wLT5tbGR0cy5udW1f cmJzOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE5NToyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTUgfCAgICAgICAgIGZj dy0+TkxheWVycyA9IG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MTk2OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NiB8ICAgICAgICAgZmN3LT5RbW9kMCA9IChvcC0+bWxk dHMucV9tWzBdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTc6MjU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MTk3IHwgICAgICAgICBmY3ctPlFtb2QxID0gKG9wLT5tbGR0cy5xX21bMV0gPj4gMSkgLSAx OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE5ODoyNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTggfCAgICAgICAgIGZj dy0+UW1vZDIgPSAob3AtPm1sZHRzLnFfbVsyXSA+PiAxKSAtIDE7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MTk5OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5OSB8ICAgICAgICAgZmN3LT5RbW9kMyA9IChvcC0+bWxk dHMucV9tWzNdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMDE6MTU6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZ CiA0MjAxIHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9sYXllcnMgPT0gMikgewogICAgICB8 ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjA1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwNSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5 ZXJzID09IDMpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMDc6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjA3IHwgICAgICAgICBmY3ct PlJyZXAgPSBvcC0+bWxkdHMucl9yZXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwODoyMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQyMDggfCAgICAgICAgIGZjdy0+Q3JlcCA9IG9wLT5tbGR0cy5jX3JlcDsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMTM6MzM6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDIxMyB8IHZyYjJfZG1hX2Rl c2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RtYV9kZXNj X21sZHRzX2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIy NjoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQyMjYgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1 KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjI3OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIyNyB8ICAgICAgICAgICAgICAgICBvcC0+ bWxkdHMucl9yZXAgPSA1OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyODoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMjggfCAg ICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjk6MTk6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0MjI5IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsK ICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMzA6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjMwIHwgICAgICAgICBpZiAob3AtPm1s ZHRzLm51bV9sYXllcnMgPiA0KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMxOjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMSB8ICAg ICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMyOjI3 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDIzMiB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5u dW1fbGF5ZXJzOyBpKyspCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzM6Mzc6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MjMzIHwgICAgICAgICAgICAgICAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNCB8 ICAgICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAq IChvcC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM0OjM4OiBlcnJvcjog4oCYUlRF X0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0NSQ19FUlJPUuKAmT8KIDQyMzQgfCAgICAgICAg IHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1s ZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJURV9CQkRFVl9DUkNfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjM0OjYxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNCB8ICAgICAgICAgc2NfbnVtID0g b3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChvcC0+bWxkdHMuY19yZXAg KyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMzU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0cy5u dW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjM1OjU4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzNSB8ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVt X3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNjozMzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQyMzYgfCAgICAgICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVy cyAtIDJdICogc2NfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM3OjMzOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDIzNyB8ICAgICAgICAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1f bGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMToxODogZXJy b3I6IHZhcmlhYmxlIOKAmHNjX2ZhY3Rvcl9wZXJfcnJlcOKAmSBzZXQgYnV0IG5vdCB1c2VkIFst V2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDIyMSB8ICAgICAgICAgdWludDE2X3Qg c2NfZmFjdG9yX3Blcl9ycmVwW1ZSQjJfTUxEX1JSRVBfU0laRV0gPSB7MTIsIDYsIDQsIDMsIDAs IDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyMDoxODogZXJyb3I6IHZhcmlhYmxlIOKA mHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0 LXZhcmlhYmxlXQogNDIyMCB8ICAgICAgICAgdWludDE2X3QgcnNpemVfcGVyX3JlW1ZSQjJfTUxE X0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTk6MTg6IGVy cm9yOiB2YXJpYWJsZSDigJhxc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJv cj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMTkgfCAgICAgICAgIHVpbnQxNl90IHFzaXpl X3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5ZXIgMiB0byA0 LiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjM2OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlz aWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0K IDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQoc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJ biBmdW5jdGlvbiDigJh2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnTigJk6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3NToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyNzUgfCAg ICAgICAgIGlmIChvcC0+bWxkdHMuY19yZXAgPT0gMCkKICAgICAgfCAgICAgICAgICAgICAgIF5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjc6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODozMTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQyNzggfCAgICAgICAgIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRzLm51 bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAg ICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0Mjc4IHwgICAgICAgICBsYXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5u dW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xBWUVSLAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAgICAg ICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MjgwOjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4MCB8ICAgICAgICAgcnJlcF9pZHggPSBSVEVfTUlOKG9w LT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVApOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6MjU6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAgICAg ICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODA6MzA6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MjgwIHwgICAgICAgICBycmVwX2lkeCA9IFJURV9NSU4ob3AtPm1sZHRz LnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNTozNDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwgICAgICAgICAgICAg ICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4NDox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyODQgfCAgICAgICAgIHJldHVybiAob3AtPm1sZHRzLm51bV9yYnMg PD0gbWF4X3JiW2xheWVyX2lkeF1bcnJlcF9pZHhdKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4OTo1MjogZXJyb3I6IOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBs aXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVj bGFyYXRpb24gWy1XZXJyb3JdCiA0Mjg5IHwgZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3Qg YWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYZW5xdWV1ZV9tbGR0c19zcGxpdF9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzA0OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNCB8ICAgICAgICAgaW5wdXRf cSA9IG9wLT5tbGR0cy5xaHlfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNToyMTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQzMDUgfCAgICAgICAgIGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzA2OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNiB8ICAgICAgICAgb3V0cHV0ID0g b3AtPm1sZHRzLm91dHB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDc6MjM6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MzA3IHwgICAgICAgICBpbl9vZmZzZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MzA4OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwOCB8ICAgICAgICAgb3V0X29mZnNl dCA9IG9wLT5tbGR0cy5vdXRwdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA5OjIyOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMwOSB8ICAgICAgICAgbnVtX3N5bXMgPSBvcC0+bWxkdHMuY19yZXAgKyAxOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMxMToyOTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIy X2Zjd19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzMTEgfCAgICAgICAgIHZyYjJfZmN3X21s ZHRzX2ZpbGwob3AsIGZjdyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5Mjo0ODogbm90ZTogZXhwZWN0ZWQg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwo c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5e fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTU6MTU6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MzE1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgfCAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNjox OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQzMTYgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLnJfcmVwID0g NTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzMTc6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE3IHwgICAgICAgICBpZiAob3At Pm1sZHRzLm51bV9sYXllcnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE4OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxOCB8 ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE5 OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogNDMxOSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJz ID4gNCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDMyMDoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjAgfCAgICAgICAgICAgICAgICAg b3AtPm1sZHRzLm51bV9sYXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMjoyNzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQzMjIgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsr KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIzOjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyMyB8ICAgICAgICAg ICAgICAgICBvdXRzaXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDMyNDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjQgfCAgICAgICAgIHNjX251 bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNl ZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6Mzg6IGVycm9yOiDigJhSVEVfQkJERVZfU0NQ RVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogNDMyNCB8ICAgICAgICAgc2NfbnVtID0g b3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAgZm9yY2VkIHRv IHplcm8uICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9DUkNfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0MzI1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNSB8ICAgICAgICAgcl9udW0gPSBvcC0+bWxk dHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8 ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMyNTo1ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMjUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRz Lm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjY6MzM6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0MzI2IHwgICAgICAgICBxX3NpemUgPSBxc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9s YXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNzozMzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQzMjcgfCAgICAgICAgIHJfc2l6ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMu bnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTQ6MTg6 IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3JfcGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNl ZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTQgfCAgICAgICAgIHVpbnQx Nl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01MRF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAz LCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyOTM6MTg6IGVycm9yOiB2YXJpYWJs ZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0 LXNldC12YXJpYWJsZV0KIDQyOTMgfCAgICAgICAgIHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIy X01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjkyOjE4 OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1X ZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkyIHwgICAgICAgICB1aW50MTZfdCBx c2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezgsIDEyLCAxNn07IC8qIExheWVyIDIg dG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo1MDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJy b3JdCiA0MzcxIHwgZW5xdWV1ZV9tbGR0c19vbmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhlbnF1ZXVlX21sZHRz X29uZV9vcOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgyOjIx OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDM4MiB8ICAgICAgICAgaW5wdXRfcSA9IG9wLT5tbGR0cy5xaHlfaW5w dXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MzoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODMgfCAgICAgICAg IGlucHV0X3IgPSBvcC0+bWxkdHMucl9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg0OjIwOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDM4NCB8ICAgICAgICAgb3V0cHV0ID0gb3AtPm1sZHRzLm91dHB1dC5kYXRh OwogICAgICB8ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQzODU6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mzg1IHwgICAgICAgICBpbl9vZmZz ZXQgPSBvcC0+bWxkdHMucWh5X2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg2OjI0OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDM4NiB8ICAgICAgICAgb3V0X29mZnNldCA9IG9wLT5tbGR0cy5vdXRwdXQu b2Zmc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg4OjI5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAx IG9mIOKAmHZyYjJfZmN3X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0 eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDM4OCB8ICAgICAgICAg dnJiMl9mY3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4OiBub3RlOiBleHBl Y3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9m IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MTkyIHwgdnJiMl9mY3df bWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3df bWxkdHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4OToz NDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2RtYV9kZXNjX21sZHRzX2Zp bGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJs ZS1wb2ludGVyLXR5cGVzXQogNDM4OSB8ICAgICAgICAgdnJiMl9kbWFfZGVzY19tbGR0c19maWxs KG9wLCAmZGVzYy0+cmVxLCBpbnB1dF9xLCBpbnB1dF9yLCBvdXRwdXQsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIxMzo1Mzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKuKAmQogNDIxMyB8IHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ0MDE6MjQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDQwMSB8ICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3BzLCB1aW50MTZfdCBudW0pCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9lbnF1ZXVlX21s ZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTU6NjA6IGVy cm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50 4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUt cG9pbnRlci10eXBlc10KIDQ0MTUgfCAgICAgICAgICAgICAgICAgYXNfb25lX29wID0gdnJiMl9j aGVja19tbGRfcl9jb25zdHJhaW50KG9wc1tpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6NTY6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wICrigJkKIDQyNjggfCB2cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQo c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3ApIHsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE2OjUzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDQxNiB8ICAgICAg ICAgICAgICAgICBkZXNjc19pbl9vcCA9IGFzX29uZV9vcCA/IDEgOiBvcHNbaV0tPm1sZHRzLmNf cmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDI2 OjU4OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGVucXVldWVfbWxkdHNfb25lX29w 4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUt cG9pbnRlci10eXBlc10KIDQ0MjYgfCAgICAgICAgICAgICAgICAgICAgICAgICByZXQgPSBlbnF1 ZXVlX21sZHRzX29uZV9vcChxLCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM3MTo3MDogbm90ZTogZXhwZWN0ZWQg4oCYc3Ry dWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDM3MSB8IGVucXVldWVfbWxkdHNfb25lX29w KHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDQyODo2MDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhlbnF1ZXVlX21sZHRzX3Nw bGl0X29w4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBh dGlibGUtcG9pbnRlci10eXBlc10KIDQ0MjggfCAgICAgICAgICAgICAgICAgICAgICAgICByZXQg PSBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w ICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5OjcyOiBub3RlOiBl eHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0Mjg5IHwgZW5xdWV1 ZV9tbGR0c19zcGxpdF9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0NDU1OjQ1OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBv dXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ0NTUg fCAgICAgICAgICAgICAgICAgc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAqKnJlZl9vcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJhkZXF1ZXVlX21sZHRzX29uZV9vcOKAmToKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDk5OjExOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQog NDQ5OSB8ICAgICAgICAgb3AtPnN0YXR1cyA9IDA7CiAgICAgIHwgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNToxOTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1 MDUgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuaW5wdXRfZXJyIDw8IFJURV9C QkRFVl9EQVRBX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUwNjoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDYgfCAg ICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZG1hX2VyciA8PCBSVEVfQkJERVZfRFJW X0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDUwNzoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDcgfCAgICAgICAgICAg ICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZmN3X2VyciA8PCBSVEVfQkJERVZfRFJWX0VSUk9SOwog ICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDUwODoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MDggfCAgICAgICAgICAgICAgICAgb3At PnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAg ICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ1MDg6NTA6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9C QkRFVl9FVkVOVF9FUlJPUuKAmT8KIDQ1MDggfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8 PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0NTExOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUxMSB8ICAgICAgICAgaWYgKG9w LT5zdGF0dXMgIT0gMCkKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMzoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ1MTMgfCAgICAgICAg IGlmIChvcC0+c3RhdHVzICYgKDEgPDwgUlRFX0JCREVWX0RSVl9FUlJPUikpCiAgICAgIHwgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0 b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUzMToyNDog ZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NTMxIHwgICAgICAgICAgICAgICAgIHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2RlcXVldWVfbWxkdHPigJk6Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU0Mjo1NTogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMyBvZiDigJhkZXF1ZXVlX21sZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0 aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0 NTQyIHwgICAgICAgICAgICAgICAgIHJldCA9IGRlcXVldWVfbWxkdHNfb25lX29wKHFfZGF0YSwg cSwgJm9wc1tpXSwgZGVxdWV1ZWRfY2JzLCAmYXFfZGVxdWV1ZWQpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NjY6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3AgKirigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcCAqKuKAmQogNDQ1NSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNj X3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqcmVmX29wLAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Xn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1 bmN0aW9uIOKAmHZyYl9iYmRldl9pbml04oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ1NzM6MTQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV24oCZIGhhcyBubyBt ZW1iZXIgbmFtZWQg4oCYZW5xdWV1ZV9tbGR0c19vcHPigJk7IGRpZCB5b3UgbWVhbiDigJhlbnF1 ZXVlX2RlY19vcHPigJk/CiA0NTczIHwgICAgICAgICBkZXYtPmVucXVldWVfbWxkdHNfb3BzID0g dnJiMl9lbnF1ZXVlX21sZHRzOwogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICBlbnF1ZXVlX2RlY19vcHMKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTc0OjE0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRlduKA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRlcXVldWVfbWxkdHNfb3Bz4oCZOyBkaWQgeW91IG1l YW4g4oCYZGVxdWV1ZV9kZWNfb3Bz4oCZPwogNDU3NCB8ICAgICAgICAgZGV2LT5kZXF1ZXVlX21s ZHRzX29wcyA9IHZyYjJfZGVxdWV1ZV9tbGR0czsKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgZGVxdWV1ZV9kZWNfb3BzCmNjMTogYWxs IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyMzA0LzI4MTNdIENvbXBpbGluZyBD IG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9s YTEyeHhfYmJkZXZfbGExMnh4LmMubwpbMjMwNS8yODEzXSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRl X2V2ZW50X29jdGVvbnR4LnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbMjMwNi8yODEzXSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2ZwZ2FfbHRlX2Zl Yy5hLnAvYmFzZWJhbmRfZnBnYV9sdGVfZmVjX2ZwZ2FfbHRlX2ZlYy5jLm8KWzIzMDcvMjgxM10g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhXzVnbnJf ZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjX3J0ZV9mcGdhXzVnbnJfZmVjLmMubwpbMjMw OC8yODEzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX251 bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZfbnVsbC5jLm8KWzIzMDkvMjgxM10gQ29tcGlsaW5n IEMgb2JqZWN0IGFwcC9kcGRrLWR1bXBjYXAucC9kdW1wY2FwX21haW4uYy5vClsyMzEwLzI4MTNd IENvbXBpbGluZyBDIG9iamVjdCBhcHAvZHBkay1wZHVtcC5wL3BkdW1wX21haW4uYy5vClsyMzEx LzI4MTNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVy Ym9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3YXJlLmMubwpbMjMx Mi8yODEzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2Fj Yy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBfcG1kLmMubwpuaW5qYTogYnVpbGQgc3RvcHBl ZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjM6Ck9TOiBGQzM4LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEu cC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfYWNjLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9iYXNlYmFu ZC9hY2MgLUkuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYyAtSWxpYi9iYmRldiAtSS4uL2xpYi9iYmRl diAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xp Yi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgv aW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1J bGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFs IC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRy aWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xp Yi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGli L3JpbmcgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJz L2J1cy9wY2kvbGludXggLUlsaWIvcGNpIC1JLi4vbGliL3BjaSAtZmRpYWdub3N0aWNzLWNvbG9y PWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRy YSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNh dGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNz aW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1X b2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3Ry aWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBh Y2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWlu aXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1t YXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJ IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuYmIu YWNjIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRf YWNjX3J0ZV92cmJfcG1kLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5h LnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1kLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9i YXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLWMgLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYwouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfcXVldWVfc2V0dXDigJk6Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzozNjogZXJyb3I6IOKAmFJURV9CQkRFVl9P UF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU4oCZPwogMTAzNyB8ICAgICAgICAgZWxzZSBpZiAo Y29uZi0+b3BfdHlwZSA9PSAgUlRFX0JCREVWX09QX01MRFRTKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzozNjogbm90ZTogZWFjaCB1bmRlY2xhcmVk IGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFw cGVhcnMgaW4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiX3ByaW50X29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjEwOTU6MzE6IGVycm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09Q X0ZGVOKAmT8KIDEwOTUgfCAgICAgICAgIH0gZWxzZSBpZiAob3BfdHlwZSA9PSBSVEVfQkJERVZf T1BfTUxEVFMpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfT1BfRkZUCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjIyOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEw OTk6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiAxMDk5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvcF9tbGR0cy0+bWxkdHMubnVtX3Jicywgb3BfbWxkdHMtPm1sZHRzLm51bV9sYXllcnMsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9B UkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjY2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTA5OSB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9w X21sZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1Nf XykKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDA6NDE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAwIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMucl9yZXAsCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODoxOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18p CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAxOjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTEwMSB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLmNfcmVwLCBvcF9tbGR0cy0+ bWxkdHMub3BfZmxhZ3MpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAg ICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMTo2NDogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDExMDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRz LT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8ICAgICAgICAgICAgICAg ICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9k ZXZfaW5mb19nZXTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTMz MjozMzogZXJyb3I6IOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTuKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhS VEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT07igJk/CiAxMzMyIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJ T04gfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY2OjM1OiBlcnJvcjog4oCYUlRFX0JCREVWX09Q X01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMzY2IHwgICAgICAgICAgICAgICAgICAg ICAgICAgLnR5cGUgICA9IFJURV9CQkRFVl9PUF9NTERUUywKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMzY5OjQ5OiBlcnJvcjog4oCYUlRFX0JCREVWX01MRFRT X1JFUOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDEzNjkgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZf TUxEVFNfUkVQLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9mY3dfbGRfZmlsbOKAmToKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxOTcyOjUzOiBlcnJvcjog4oCYUlRFX0JCREVW X0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9O4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9D T01QUkVTU0lPTuKAmT8KIDE5NzIgfCAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tfYml0KG9wLT5s ZHBjX2RlYy5vcF9mbGFncywgUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OKSkg ewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xE UENfSEFSUV82QklUX0NPTVBSRVNTSU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2VuY19vbmVfb3BfY2LigJk6Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzM3Mzo1MDogZXJyb3I6IOKAmFJURV9C QkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzM3MyB8ICAg ICAgICAgb3AtPnN0YXR1cyB8PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZf RU5HSU5FX0VSUk9SKSA6IDApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVO VF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmIyX2RlcXVldWVfbGRwY19lbmNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0MjU6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5F X0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM0MjUgfCAgICAgICAgIG9wLT5z dGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZW5jX29uZV9vcF90YuKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDkzOjU4OiBlcnJvcjog4oCYUlRFX0JC REVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNDkzIHwgICAg ICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEgPDwgUlRF X0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2RlY19vbmVfb3BfY2LigJk6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU0MDo0MjogZXJyb3I6IOKA mFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogMzU0 MCB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VO R0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGVxdWV1ZV9sZHBjX2Rl Y19vbmVfb3BfY2LigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5 NTo0MjogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5U X0VSUk9S4oCZPwogMzU5NSB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcg PDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJf ZGVxdWV1ZV9kZWNfb25lX29wX3Ri4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjM2Nzc6NTg6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9C QkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM2NzcgfCAgICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8 PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDAp OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRf RVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g 4oCYdnJiMl9kbWFfZGVzY19mZnRfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzozOTkwOjUxOiBlcnJvcjog4oCYUlRFX0JCREVWX0ZGVF9ERVdJTkRPV0lOR+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhSVEVfQkJERVZfRkZUX1dJTkRPV0lOR+KAmT8KIDM5OTAgfCAgICAgICAgIGJvb2wgd2luX2Vu ID0gY2hlY2tfYml0KG9wLT5mZnQub3BfZmxhZ3MsIFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkcp OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkcKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDE2OjI1OiBlcnJvcjog4oCYUlRF X0JCREVWX01BWF9DU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7 IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfTUFYX0NTXzLigJk/CiA0MDE2IHwgICAgICAgICBm b3IgKGkgPSAwOyBpIDwgUlRFX0JCREVWX01BWF9DUzsgaSsrKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICBSVEVfQkJERVZfTUFYX0NTXzIKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2VucXVldWVfZmZ0X29uZV9vcOKAmToKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MDQ5OjIyOiBlcnJvcjog4oCYc3RydWN0IHJ0 ZV9iYmRldl9vcF9mZnTigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXdpbmRvd2luZ19pbnB1 dOKAmQogNDA0OSB8ICAgICAgICAgd2luID0gb3AtPmZmdC5kZXdpbmRvd2luZ19pbnB1dC5kYXRh OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MDUzOjI5OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9vcF9mZnTi gJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXdpbmRvd2luZ19pbnB1dOKAmQogNDA1MyB8ICAg ICAgICAgd2luX29mZnNldCA9IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQub2Zmc2V0OwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9kZXF1ZXVlX2ZmdF9vbmVfb3DigJk6 Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE0Mjo0MjogZXJyb3I6IOKA mFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogNDE0 MiB8ICAgICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VO R0lORV9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDE5MjoyODogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0 MTkyIHwgdnJiMl9mY3dfbWxkdHNfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwg c3RydWN0IGFjY19mY3dfbWxkdHMgKmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk0OjIyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NCB8ICAg ICAgICAgZmN3LT5ucmIgPSBvcC0+bWxkdHMubnVtX3JiczsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTU6MjY6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MTk1IHwgICAgICAgICBmY3ctPk5MYXllcnMgPSBvcC0+bWxkdHMubnVt X2xheWVycyAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NjoyNTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTYg fCAgICAgICAgIGZjdy0+UW1vZDAgPSAob3AtPm1sZHRzLnFfbVswXSA+PiAxKSAtIDE7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MTk3OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NyB8ICAgICAgICAgZmN3LT5RbW9k MSA9IChvcC0+bWxkdHMucV9tWzFdID4+IDEpIC0gMTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTg6MjU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MTk4IHwgICAgICAgICBmY3ctPlFtb2QyID0gKG9wLT5tbGR0cy5xX21b Ml0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5OToyNTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTkg fCAgICAgICAgIGZjdy0+UW1vZDMgPSAob3AtPm1sZHRzLnFfbVszXSA+PiAxKSAtIDE7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzo0MjAxOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIwMSB8ICAgICAgICAgaWYgKG9wLT5t bGR0cy5udW1fbGF5ZXJzID09IDIpIHsKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNToxNTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDUg fCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAzKQogICAgICB8ICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA3OjIzOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDIwNyB8ICAgICAgICAgZmN3LT5ScmVwID0gb3AtPm1sZHRzLnJfcmVwOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMDg6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjA4IHwgICAgICAgICBmY3ctPkNy ZXAgPSBvcC0+bWxkdHMuY19yZXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjEzOjMzOiBlcnJvcjog4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIDQyMTMgfCB2cmIyX2RtYV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kbWFfZGVzY19tbGR0c19maWxs4oCZOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMjY6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI2IHwg ICAgICAgICBpZiAob3AtPm1sZHRzLnJfcmVwID4gNSkKICAgICAgfCAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyNzoxOTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQyMjcgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLnJfcmVwID0gNTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyMjg6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI4IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9s YXllcnMgPCAyKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MjI5OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIyOSB8ICAgICAgICAgICAg ICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjMwOjE1OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDIzMCB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzID4gNCkKICAgICAg fCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDIzMToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzEgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51 bV9sYXllcnMgPSA0OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzIgfCAgICAg ICAgIGZvciAoaSA9IDA7IGkgPCBvcC0+bWxkdHMubnVtX2xheWVyczsgaSsrKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjMzOjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIzMyB8ICAgICAgICAgICAgICAgICBvdXRz aXplX3Blcl9yZSArPSBvcC0+bWxkdHMucV9tW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDIzNDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0 cy5udW1fcmJzICogUlRFX0JCREVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDIzNDozODogZXJyb3I6IOKAmFJURV9CQkRFVl9TQ1BFUlJC4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRF Vl9DUkNfRVJST1LigJk/CiA0MjM0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3Ji cyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VS Uk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNDo2MTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQyMzQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JC REVWX1NDUEVSUkIgKiAob3AtPm1sZHRzLmNfcmVwICsgMSk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM1OjE5OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIz NSB8ICAgICAgICAgcl9udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJl cFtvcC0+bWxkdHMucl9yZXBdOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzNTo1ODogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzUg fCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBb b3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQyMzY6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM2IHwgICAgICAgICBxX3NpemUgPSBx c2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHNjX251bTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIzNzozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzcgfCAgICAgICAgIHJfc2l6 ZSA9IHJzaXplX3Blcl9yZVtvcC0+bWxkdHMubnVtX2xheWVycyAtIDJdICogcl9udW07CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyMjE6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhzY19mYWN0b3Jf cGVyX3JyZXDigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJp YWJsZV0KIDQyMjEgfCAgICAgICAgIHVpbnQxNl90IHNjX2ZhY3Rvcl9wZXJfcnJlcFtWUkIyX01M RF9SUkVQX1NJWkVdID0gezEyLCA2LCA0LCAzLCAwLCAyfTsKICAgICAgfCAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMjA6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhyc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBu b3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyMjAgfCAgICAgICAg IHVpbnQxNl90IHJzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7MTQsIDI2LCA0Mn07 CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjE5OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcXNpemVfcGVy X3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVd CiA0MjE5IHwgICAgICAgICB1aW50MTZfdCBxc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVd ID0gezgsIDEyLCAxNn07IC8qIExheWVyIDIgdG8gNC4gKi8KICAgICAgfCAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODoz NjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRl IHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmlu aXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjY4IHwgdnJiMl9jaGVja19tbGRfcl9j b25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wKSB7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9jaGVja19t bGRfcl9jb25zdHJhaW504oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQyNzU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjc1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLmNfcmVw ID09IDApCiAgICAgIHwgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo3OgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQyNzg6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjc4IHwgICAgICAgICBs YXllcl9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5udW1fbGF5ZXJzIC0gVlJCMl9NTERfTUlOX0xB WUVSLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChh KTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3OCB8ICAgICAgICAg bGF5ZXJfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9M QVlFUiwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNTozNDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhSVEVfTUlO4oCZCiAgNjE1IHwgICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAo YSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4MDozMDogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyODAg fCAgICAgICAgIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+bWxkdHMucl9yZXAsIFZSQjJfTUxEX01B WF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAgICAgICAgICAgICAgdHlwZW9mIChhKSBfYSA9 IChhKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjgwOjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4MCB8ICAgICAg ICAgcnJlcF9pZHggPSBSVEVfTUlOKG9wLT5tbGR0cy5yX3JlcCwgVlJCMl9NTERfTUFYX1JSRVAp OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNs dWRlL3J0ZV9jb21tb24uaDo2MTU6MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY UlRFX01JTuKAmQogIDYxNSB8ICAgICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBc CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODQ6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0Mjg0IHwgICAg ICAgICByZXR1cm4gKG9wLT5tbGR0cy5udW1fcmJzIDw9IG1heF9yYltsYXllcl9pZHhdW3JyZXBf aWR4XSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyODk6NTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91 dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDI4OSB8 IGVucXVldWVfbWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGVucXVldWVfbWxkdHNfc3BsaXRf b3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNDoyMTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQzMDQgfCAgICAgICAgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRh dGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMDU6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA1IHwgICAgICAgICBpbnB1 dF9yID0gb3AtPm1sZHRzLnJfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNjoyMDogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQzMDYgfCAgICAgICAgIG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzA3OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMwNyB8ICAgICAgICAgaW5fb2Zmc2V0ID0g b3AtPm1sZHRzLnFoeV9pbnB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwODoyNDogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQzMDggfCAgICAgICAgIG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNl dDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDMwOToyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMDkgfCAgICAgICAgIG51 bV9zeW1zID0gb3AtPm1sZHRzLmNfcmVwICsgMTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTE6Mjk6IGVycm9y OiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmSBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlw ZXNdCiA0MzExIHwgICAgICAgICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQxOTI6NDg6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICri gJkKIDQxOTIgfCB2cmIyX2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag Km9wLCBzdHJ1Y3QgYWNjX2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzE1OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxNSB8ICAgICAgICAgaWYgKG9w LT5tbGR0cy5yX3JlcCA+IDUpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTY6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE2IHwgICAg ICAgICAgICAgICAgIG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzE3OjE1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDMxNyB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAg ICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDMxODoxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTggfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRz Lm51bV9sYXllcnMgPSAyOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxOToxNTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTkgfCAg ICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAgIHwgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjA6MTk6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRz X29w4oCZCiA0MzIwIHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsK ICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMjI6Mjc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzIyIHwgICAgICAgICBmb3IgKGkgPSAw OyBpIDwgb3AtPm1sZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyMzoz NzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQzMjMgfCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0g b3AtPm1sZHRzLnFfbVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjQ6MjA6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MzI0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJU RV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3JjZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzI0OjM4OiBlcnJvcjog4oCYUlRFX0JCREVWX1NDUEVSUkLigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0NSQ19FUlJP UuKAmT8KIDQzMjQgfCAgICAgICAgIHNjX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogUlRFX0JC REVWX1NDUEVSUkI7IC8qIEMgcmVwIGZvcmNlZCB0byB6ZXJvLiAqLwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfQ1JDX0VSUk9SCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNToxOTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkK IDQzMjUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVy X3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjU6NTg6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MzI1IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9y cmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MzI2OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNiB8ICAgICAgICAgcV9zaXpl ID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1fbGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMjc6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI3IHwgICAgICAgICBy X3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRzLm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjk0OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYc2NfZmFj dG9yX3Blcl9ycmVw4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQt dmFyaWFibGVdCiA0Mjk0IHwgICAgICAgICB1aW50MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJC Ml9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwgMywgMCwgMn07CiAgICAgIHwgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MjkzOjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBi dXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjkzIHwgICAg ICAgICB1aW50MTZfdCByc2l6ZV9wZXJfcmVbVlJCMl9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwg NDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MjoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHFzaXpl X3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlh YmxlXQogNDI5MiB8ICAgICAgICAgdWludDE2X3QgcXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9T SVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAyIHRvIDQuICovCiAgICAgIHwgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz NzE6NTA6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGlu c2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBk ZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDM3MSB8IGVucXVldWVfbWxkdHNf b25lX29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9w LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu YzogSW4gZnVuY3Rpb24g4oCYZW5xdWV1ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4MjoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODIgfCAgICAg ICAgIGlucHV0X3EgPSBvcC0+bWxkdHMucWh5X2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODM6 MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0MzgzIHwgICAgICAgICBpbnB1dF9yID0gb3AtPm1sZHRzLnJfaW5w dXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NDoyMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODQgfCAgICAgICAg IG91dHB1dCA9IG9wLT5tbGR0cy5vdXRwdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mzg1OjIzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDM4NSB8ICAgICAgICAgaW5fb2Zmc2V0ID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5v ZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4NjoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODYgfCAgICAgICAg IG91dF9vZmZzZXQgPSBvcC0+bWxkdHMub3V0cHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDM4 ODoyOTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2Zjd19tbGR0c19maWxs 4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUt cG9pbnRlci10eXBlc10KIDQzODggfCAgICAgICAgIHZyYjJfZmN3X21sZHRzX2ZpbGwob3AsIGZj dyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDE5Mjo0ODogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKuKAmQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cpCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODk6MzQ6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50 IDEgb2Yg4oCYdnJiMl9kbWFfZGVzY19tbGR0c19maWxs4oCZIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KIDQzODkgfCAg ICAgICAgIHZyYjJfZG1hX2Rlc2NfbWxkdHNfZmlsbChvcCwgJmRlc2MtPnJlcSwgaW5wdXRfcSwg aW5wdXRfciwgb3V0cHV0LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag KgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMTM6NTM6IG5vdGU6IGV4 cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQgaXMg b2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQyMTMgfCB2cmIyX2Rt YV9kZXNjX21sZHRzX2ZpbGwoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDAxOjI0OiBlcnJvcjog4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIDQ0MDEgfCAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEluIGZ1bmN0aW9uIOKAmHZyYjJfZW5xdWV1ZV9tbGR0c+KAmToKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDE1OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9m IOKAmHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDE1IHwgICAg ICAgICAgICAgICAgIGFzX29uZV9vcCA9IHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChvcHNb aV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjY4OjU2 OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MjY4 IHwgdnJiMl9jaGVja19tbGRfcl9jb25zdHJhaW50KHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Ag Km9wKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQx Njo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQ0MTYgfCAgICAgICAgICAgICAgICAgZGVzY3NfaW5fb3AgPSBh c19vbmVfb3AgPyAxIDogb3BzW2ldLT5tbGR0cy5jX3JlcCArIDE7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv YmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQyNjo1ODogZXJyb3I6IHBhc3NpbmcgYXJndW1l bnQgMiBvZiDigJhlbnF1ZXVlX21sZHRzX29uZV9vcOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI2IHwgICAg ICAgICAgICAgICAgICAgICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19vbmVfb3AocSwgb3BzW2ld LCBlbnF1ZXVlZF9kZXNjcyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+Xn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzNzE6NzA6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKA mSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICri gJkKIDQzNzEgfCBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0Mjg6NjA6IGVycm9yOiBwYXNzaW5nIGFy Z3VtZW50IDIgb2Yg4oCYZW5xdWV1ZV9tbGR0c19zcGxpdF9vcOKAmSBmcm9tIGluY29tcGF0aWJs ZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0NDI4 IHwgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gZW5xdWV1ZV9tbGR0c19zcGxpdF9vcChx LCBvcHNbaV0sIGVucXVldWVkX2Rlc2NzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDI4OTo3Mjogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKuKAmQogNDI4OSB8IGVucXVldWVfbWxkdHNfc3BsaXRfb3Aoc3RydWN0IGFj Y19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBBdCB0b3Ag bGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NTo0NTogZXJy b3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFt ZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24g b3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVjdCBh Y2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g 4oCYZGVxdWV1ZV9tbGR0c19vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDQ5OToxMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQ0OTkgfCAgICAgICAgIG9wLT5zdGF0dXMg PSAwOwogICAgICB8ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjQ1MDU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA1IHwgICAgICAgICAgICAgICAgIG9wLT5z dGF0dXMgfD0gcnNwLmlucHV0X2VyciA8PCBSVEVfQkJERVZfREFUQV9FUlJPUjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ1MDY6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTA2IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMg fD0gcnNwLmRtYV9lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDc6MTk6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0NTA3IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmZj d19lcnIgPDwgUlRFX0JCREVWX0RSVl9FUlJPUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MDg6MTk6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0NTA4IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5n IDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA4OjUwOiBlcnJvcjog4oCY UlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiA0NTA4 IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9C QkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5U X0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDUxMToxNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQ1MTEgfCAgICAgICAgIGlmIChvcC0+c3RhdHVzICE9IDApCiAgICAgIHwgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTM6 MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0NTEzIHwgICAgICAgICBpZiAob3AtPnN0YXR1cyAmICgxIDw8IFJU RV9CQkRFVl9EUlZfRVJST1IpKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2Vi YW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1MzE6MjQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9y XQogNDUzMSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqb3Bz LCB1aW50MTZfdCBudW0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rp b24g4oCYdnJiMl9kZXF1ZXVlX21sZHRz4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQ1NDI6NTU6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYZGVxdWV1 ZV9tbGR0c19vbmVfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDU0MiB8ICAgICAgICAgICAgICAgICByZXQg PSBkZXF1ZXVlX21sZHRzX29uZV9vcChxX2RhdGEsIHEsICZvcHNbaV0sIGRlcXVldWVkX2Nicywg JmFxX2RlcXVldWVkKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3AgKioKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NDU1OjY2 OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq4oCZIGJ1dCBh cmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKirigJkKIDQ0 NTUgfCAgICAgICAgICAgICAgICAgc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAqKnJlZl9vcCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfYmJkZXZfaW5pdOKA mToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTczOjE0OiBlcnJvcjog 4oCYc3RydWN0IHJ0ZV9iYmRlduKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGVucXVldWVfbWxk dHNfb3Bz4oCZOyBkaWQgeW91IG1lYW4g4oCYZW5xdWV1ZV9kZWNfb3Bz4oCZPwogNDU3MyB8ICAg ICAgICAgZGV2LT5lbnF1ZXVlX21sZHRzX29wcyA9IHZyYjJfZW5xdWV1ZV9tbGR0czsKICAgICAg fCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgZW5x dWV1ZV9kZWNfb3BzCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDU3NDox NDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXbigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhk ZXF1ZXVlX21sZHRzX29wc+KAmTsgZGlkIHlvdSBtZWFuIOKAmGRlcXVldWVfZGVjX29wc+KAmT8K IDQ1NzQgfCAgICAgICAgIGRldi0+ZGVxdWV1ZV9tbGR0c19vcHMgPSB2cmIyX2RlcXVldWVfbWxk dHM7CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgIGRlcXVldWVfZGVjX29wcwpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwpbMjQ1OC8yOTc5XSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgZHJpdmVycy9saWJ0bXBf cnRlX2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlYy5hClsyNDU5LzI5NzldIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfZXZlbnRfb2N0ZW9udHguYS5wL2V2ZW50X29jdGVvbnR4X3Nz b3ZmX2V2ZGV2X3NlbGZ0ZXN0LmMubwpbMjQ2MC8yOTc5XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRl X2Jhc2ViYW5kX2xhMTJ4eC5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzI0NjEvMjk3OV0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9mcGdhXzVnbnJf ZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjX3J0ZV9mcGdhXzVnbnJfZmVjLmMubwpbMjQ2 Mi8yOTc5XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX251 bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZfbnVsbC5jLm8KWzI0NjMvMjk3OV0gQ29tcGlsaW5n IEMgb2JqZWN0IGFwcC9kcGRrLWR1bXBjYXAucC9kdW1wY2FwX21haW4uYy5vClsyNDY0LzI5Nzld IENvbXBpbGluZyBDIG9iamVjdCBhcHAvZHBkay1wZHVtcC5wL3BkdW1wX21haW4uYy5vClsyNDY1 LzI5NzldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfdHVy Ym9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3YXJlLmMubwpbMjQ2 Ni8yOTc5XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2Fj Yy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBfcG1kLmMubwpuaW5qYTogYnVpbGQgc3RvcHBl ZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjQ6Ck9TOiBGQzM4LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2Mu YS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gCmNsYW5nIC1JZHJpdmVycy9saWJ0bXBf cnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYmFz ZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9saWIv YmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUku Li9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xp bnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVk ZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGli L2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIv bWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUku Li9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4u L2xpYi9yaW5nIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJp dmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLWZjb2xvci1kaWFnbm9z dGljcyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAt V2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVk IC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5n LWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xk LXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0 LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tl ZC1tZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1m UElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJO QUxfQVBJIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmJiLmFjYyAtRFJURV9BTk5PVEFU RV9MT0NLUyAtV3RocmVhZC1zYWZldHkgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJh bmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vIC1NRiBkcml2ZXJzL2xpYnRt cF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX3ZyYl9wbWQuYy5vLmQgLW8g ZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJf cG1kLmMubyAtYyAuLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jCi4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTAzNzoyOTogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9PUF9NTERUUyc7IGRpZCB5b3UgbWVhbiAnUlRF X0JCREVWX09QX0ZGVCc/CiAgICAgICAgZWxzZSBpZiAoY29uZi0+b3BfdHlwZSA9PSAgUlRFX0JC REVWX09QX01MRFRTKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9P UF9GRlQKLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRFX0JCREVW X09QX0ZGVCcgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZG VCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk1 OjI0OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX09QX01M RFRTJzsgZGlkIHlvdSBtZWFuICdSVEVfQkJERVZfT1BfRkZUJz8KICAgICAgICB9IGVsc2UgaWYg KG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX01MRFRTKSB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfT1BfRkZUCi4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDo4NTg6Mjogbm90ZTog J1JURV9CQkRFVl9PUF9GRlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfT1BfRkZU LCAgLyoqPCBGRlQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MTA5OToxMzogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w X21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvdnJiX3BtZC5oOjE4OjU6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9iYmRldl9s b2cnCiAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTY6MTA6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAg ICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcF9tbGR0cyA9IChzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wICopIG9wOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjM4OiBlcnJvcjogaW5jb21w bGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMsIG9wX21s ZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fl4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv dnJiX3BtZC5oOjE4OjU6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9iYmRldl9sb2cn CiAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEwOTY6MTA6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAg ICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcF9tbGR0cyA9IChzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wICopIG9wOwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAwOjEzOiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AnCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLnJfcmVwLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+XgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92 cmJfcG1kLmg6MTg6NTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2JiZGV2X2xvZycK ICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTA5NjoxMDogbm90ZTog Zm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wX21sZHRzID0gKHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKikgb3A7CiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6MTM6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCcKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5t bGR0cy5vcF9mbGFncyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5e Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODo1OiBub3RlOiBleHBhbmRlZCBm cm9tIG1hY3JvICdydGVfYmJkZXZfbG9nJwogICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykK ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzoxMDk2OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcCAqb3BfbWxkdHMgPSAoc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKSBvcDsKICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTEwMTozNjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29wJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wX21sZHRz LT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+XgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6NTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNy byAncnRlX2JiZGV2X2xvZycKICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTA5NjoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCcKICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9w X21sZHRzID0gKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKikgb3A7CiAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6NTog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9MRFBDX0hBUlFf NEJJVF9DT01QUkVTU0lPTic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklU X0NPTVBSRVNTSU9OJz8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZf TERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT04gfAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgouLi9s aWIvYmJkZXYvcnRlX2JiZGV2X29wLmg6MTgyOjI6IG5vdGU6ICdSVEVfQkJERVZfTERQQ19IQVJR XzZCSVRfQ09NUFJFU1NJT04nIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfTERQQ19I QVJRXzZCSVRfQ09NUFJFU1NJT04gPSAoMVVMTCA8PCAxNCksCiAgICAgICAgXgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzNjY6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQgeW91IG1lYW4gJ1JURV9C QkRFVl9PUF9GRlQnPwogICAgICAgICAgICAgICAgICAgICAgICAudHlwZSAgID0gUlRFX0JCREVW X09QX01MRFRTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfT1BfRkZU Ci4uL2xpYi9iYmRldi9ydGVfYmJkZXZfb3AuaDo4NTg6Mjogbm90ZTogJ1JURV9CQkRFVl9PUF9G RlQnIGRlY2xhcmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfT1BfRkZULCAgLyoqPCBGRlQgKi8K ICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2OTo3OiBl cnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX01MRFRTX1JFUCcK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVW X01MRFRTX1JFUCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MDM6MjM6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQg eW91IG1lYW4gJ1JURV9CQkRFVl9PUF9GRlQnPwogICAgICAgIGRldl9pbmZvLT5udW1fcXVldWVz W1JURV9CQkRFVl9PUF9NTERUU10gPSBkLT5hY2NfY29uZi5xX21sZC5udW1fYXFzX3Blcl9ncm91 cHMgKgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vbGliL2JiZGV2L3J0 ZV9iYmRldl9vcC5oOjg1ODoyOiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcgZGVjbGFyZWQgaGVy ZQogICAgICAgIFJURV9CQkRFVl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAgICAgIF4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxNDEwOjI3OiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX09QX01MRFRTJzsgZGlkIHlvdSBtZWFuICdS VEVfQkJERVZfT1BfRkZUJz8KICAgICAgICBkZXZfaW5mby0+cXVldWVfcHJpb3JpdHlbUlRFX0JC REVWX09QX01MRFRTXSA9IGQtPmFjY19jb25mLnFfbWxkLm51bV9xZ3JvdXBzOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVAouLi9saWIvYmJkZXYvcnRlX2JiZGV2 X29wLmg6ODU4OjI6IG5vdGU6ICdSVEVfQkJERVZfT1BfRkZUJyBkZWNsYXJlZCBoZXJlCiAgICAg ICAgUlRFX0JCREVWX09QX0ZGVCwgIC8qKjwgRkZUICovCiAgICAgICAgXgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjE0MTI6MzU6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdSVEVfQkJERVZfT1BfTUxEVFMnOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRF Vl9PUF9GRlQnPwogICAgICAgIGZvciAoaSA9IFJURV9CQkRFVl9PUF9OT05FOyBpIDw9IFJURV9C QkRFVl9PUF9NTERUUzsgaSsrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJURV9CQkRFVl9PUF9GRlQKLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjg1ODoy OiBub3RlOiAnUlRFX0JCREVWX09QX0ZGVCcgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRF Vl9PUF9GRlQsICAvKio8IEZGVCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzoxOTcyOjQ2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmll ciAnUlRFX0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OJzsgZGlkIHlvdSBtZWFuICdS VEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT04nPwogICAgICAgIH0gZWxzZSBpZiAo Y2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywgUlRFX0JCREVWX0xEUENfSEFSUV80QklU X0NPTVBSRVNTSU9OKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfTERQ Q19IQVJRXzZCSVRfQ09NUFJFU1NJT04KLi4vbGliL2JiZGV2L3J0ZV9iYmRldl9vcC5oOjE4Mjoy OiBub3RlOiAnUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OJyBkZWNsYXJlZCBo ZXJlCiAgICAgICAgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OID0gKDFVTEwg PDwgMTQpLAogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoz MzczOjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JCREVWX0VO R0lORV9FUlJPUic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8KICAgICAg ICBvcC0+c3RhdHVzIHw9ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJ TkVfRVJST1IpIDogMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vbGliL2JiZGV2 L3J0ZV9iYmRldi5oOjgzMToyOiBub3RlOiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJyBkZWNsYXJl ZCBoZXJlCiAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SLCAgLyoqPCBlcnJvciBpbnRlcnJ1 cHQgZXZlbnQgKi8KICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MzQyNTozNTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRF Vl9FTkdJTkVfRVJST1InOyBkaWQgeW91IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAg ICAgICAgb3AtPnN0YXR1cyB8PSByc3AuZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9F UlJPUjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX0VWRU5UX0VSUk9SCi4uL2xpYi9iYmRldi9ydGVfYmJkZXYuaDo4MzE6Mjogbm90ZTog J1JURV9CQkRFVl9FVkVOVF9FUlJPUicgZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9F VkVOVF9FUlJPUiwgIC8qKjwgZXJyb3IgaW50ZXJydXB0IGV2ZW50ICovCiAgICAgICAgXgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM0OTM6NDQ6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQkJERVZfRU5HSU5FX0VSUk9SJzsgZGlkIHlvdSBt ZWFuICdSVEVfQkJERVZfRVZFTlRfRVJST1InPwogICAgICAgICAgICAgICAgb3AtPnN0YXR1cyB8 PSAoKHJzcC5lbmdpbmVfaHVuZykgPyAoMSA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SKSA6IDAp OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9saWIvYmJk ZXYvcnRlX2JiZGV2Lmg6ODMxOjI6IG5vdGU6ICdSVEVfQkJERVZfRVZFTlRfRVJST1InIGRlY2xh cmVkIGhlcmUKICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IsICAvKio8IGVycm9yIGludGVy cnVwdCBldmVudCAqLwogICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzozNTQwOjM1OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JC REVWX0VOR0lORV9FUlJPUic7IGRpZCB5b3UgbWVhbiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJz8K ICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5F X0VSUk9SOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfRVZFTlRfRVJST1IKLi4vbGliL2JiZGV2L3J0ZV9iYmRldi5oOjgzMToyOiBub3Rl OiAnUlRFX0JCREVWX0VWRU5UX0VSUk9SJyBkZWNsYXJlZCBoZXJlCiAgICAgICAgUlRFX0JCREVW X0VWRU5UX0VSUk9SLCAgLyoqPCBlcnJvciBpbnRlcnJ1cHQgZXZlbnQgKi8KICAgICAgICBeCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MzU5NTozNTogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CQkRFVl9FTkdJTkVfRVJST1InOyBkaWQgeW91 IG1lYW4gJ1JURV9CQkRFVl9FVkVOVF9FUlJPUic/CiAgICAgICAgb3AtPnN0YXR1cyB8PSByc3Au ZW5naW5lX2h1bmcgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUjsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2xp Yi9iYmRldi9ydGVfYmJkZXYuaDo4MzE6Mjogbm90ZTogJ1JURV9CQkRFVl9FVkVOVF9FUlJPUicg ZGVjbGFyZWQgaGVyZQogICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUiwgIC8qKjwgZXJyb3Ig aW50ZXJydXB0IGV2ZW50ICovCiAgICAgICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3Jz IGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0 ZWQuClsyNDUzLzI5NzVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYmFz ZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGExMnh4LmMubwpbMjQ1NC8y OTc1XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2V2ZW50X29jdGVvbnR4LnBtZC5jIHdpdGggYSBj dXN0b20gY29tbWFuZApbMjQ1NS8yOTc1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV9sdGVfZmVjX2Zw Z2FfbHRlX2ZlYy5jLm8KWzI0NTYvMjk3NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVj X3J0ZV9mcGdhXzVnbnJfZmVjLmMubwpbMjQ1Ny8yOTc1XSBDb21waWxpbmcgQyBvYmplY3QgYXBw L2RwZGstZHVtcGNhcC5wL2R1bXBjYXBfbWFpbi5jLm8KWzI0NTgvMjk3NV0gQ29tcGlsaW5nIEMg b2JqZWN0IGFwcC9kcGRrLXBkdW1wLnAvcGR1bXBfbWFpbi5jLm8KWzI0NTkvMjk3NV0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9udWxsLmEucC9iYXNlYmFu ZF9udWxsX2JiZGV2X251bGwuYy5vClsyNDYwLzI5NzVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9hY2NfcnRlX2FjYzEwMF9w bWQuYy5vClsyNDYxLzI5NzVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YmFzZWJhbmRfdHVyYm9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3NvZnR3 YXJlLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMjU6Ck9TOiBV QjIyMDQtNjRSdApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogZHJp dmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV92cmJfcG1k LmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2Jhc2ViYW5kX2FjYy5hLnAgLUlkcml2ZXJz IC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYmFzZWJhbmQvYWNjIC1JLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MgLUlsaWIvYmJkZXYgLUkuLi9saWIvYmJkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9j b25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xp bnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNs dWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2Vh bC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3Zh cmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9s aWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4v bGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAt SS4uL2xpYi9wY2kgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklU Uz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRl X2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25s aXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5n LXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9p bnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3 cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5v dC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0 aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJ TUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1E UlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmJiLmFjYyAtTUQgLU1RIGRyaXZlcnMvbGlidG1w X3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3BtZC5jLm8gLU1GIGRy aXZlcnMvbGlidG1wX3J0ZV9iYXNlYmFuZF9hY2MuYS5wL2Jhc2ViYW5kX2FjY19ydGVfdnJiX3Bt ZC5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYmFzZWJhbmRfYWNjLmEucC9iYXNlYmFuZF9h Y2NfcnRlX3ZyYl9wbWQuYy5vIC1jIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmMKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCY dnJiX3F1ZXVlX3NldHVw4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjEwMzc6MzY6IGVycm9yOiDigJhSVEVfQkJERVZfT1BfTUxEVFPigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX09QX0ZG VOKAmT8KIDEwMzcgfCAgICAgICAgIGVsc2UgaWYgKGNvbmYtPm9wX3R5cGUgPT0gIFJURV9CQkRF Vl9PUF9NTERUUykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUlRFX0JCREVWX09QX0ZGVAouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjEwMzc6MzY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9u bHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9wcmludF9vcOKAmToKLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk1OjMxOiBlcnJvcjog4oCYUlRF X0JCREVWX09QX01MRFRT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9PUF9GRlTigJk/CiAxMDk1IHwgICAgICAgICB9 IGVsc2UgaWYgKG9wX3R5cGUgPT0gUlRFX0JCREVWX09QX01MRFRTKSB7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX09QX0ZGVApJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoyMjoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMDk5OjQxOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogMTA5OSB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BfbWxkdHMtPm1sZHRzLm51bV9yYnMs IG9wX21sZHRzLT5tbGR0cy5udW1fbGF5ZXJzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6 MTg6MTk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQog ICAxOCB8ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTA5OTo2NjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDEwOTkgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9wX21sZHRzLT5tbGR0cy5udW1fcmJzLCBvcF9tbGR0cy0+bWxkdHMubnVtX2xheWVycywK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3ZyYl9wbWQuaDoxODox OTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfYmJkZXZfbG9n4oCZCiAgIDE4 IHwgICAgICAgICAgICAgICAgICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzoxMTAw OjQxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9i YmRldl9tbGR0c19vcOKAmQogMTEwMCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b3BfbWxkdHMtPm1sZHRzLnJfcmVwLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy92cmJfcG1kLmg6MTg6MTk6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2JiZGV2X2xvZ+KAmQogICAxOCB8 ICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTEwMTo0 MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDExMDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w X21sZHRzLT5tbGR0cy5jX3JlcCwgb3BfbWxkdHMtPm1sZHRzLm9wX2ZsYWdzKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvdnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9iYmRldl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykK ICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjExMDE6NjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiAxMTAxIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcF9tbGR0cy0+bWxkdHMuY19yZXAsIG9wX21sZHRzLT5t bGR0cy5vcF9mbGFncyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv dnJiX3BtZC5oOjE4OjE5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9iYmRl dl9sb2figJkKICAgMTggfCAgICAgICAgICAgICAgICAgIyNfX1ZBX0FSR1NfXykKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJfZGV2X2luZm9fZ2V04oCZOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjEzMzI6MzM6IGVycm9yOiDigJhSVEVfQkJERVZf TERQQ19IQVJRXzRCSVRfQ09NUFJFU1NJT07igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NP TVBSRVNTSU9O4oCZPwogMTMzMiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRF X0JCREVWX0xEUENfSEFSUV80QklUX0NPTVBSRVNTSU9OIHwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0xEUENfSEFS UV82QklUX0NPTVBSRVNTSU9OCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 MTM2NjozNTogZXJyb3I6IOKAmFJURV9CQkRFVl9PUF9NTERUU+KAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfT1BfRkZU 4oCZPwogMTM2NiB8ICAgICAgICAgICAgICAgICAgICAgICAgIC50eXBlICAgPSBSVEVfQkJERVZf T1BfTUxEVFMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS VEVfQkJERVZfT1BfRkZUCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6MTM2 OTo0OTogZXJyb3I6IOKAmFJURV9CQkRFVl9NTERUU19SRVDigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAxMzY5IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX01MRFRTX1JFUCwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKA mHZyYjJfZmN3X2xkX2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6MTk3Mjo1MzogZXJyb3I6IOKAmFJURV9CQkRFVl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lP TuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVh biDigJhSVEVfQkJERVZfTERQQ19IQVJRXzZCSVRfQ09NUFJFU1NJT07igJk/CiAxOTcyIHwgICAg ICAgICB9IGVsc2UgaWYgKGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsIFJURV9CQkRF Vl9MRFBDX0hBUlFfNEJJVF9DT01QUkVTU0lPTikpIHsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9MRFBDX0hBUlFfNkJJVF9DT01QUkVTU0lPTgou Li9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmJf ZGVxdWV1ZV9lbmNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJi X3BtZC5jOjMzNzM6NTA6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFJURV9C QkRFVl9FVkVOVF9FUlJPUuKAmT8KIDMzNzMgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3Au ZW5naW5lX2h1bmcpID8gKDEgPDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiMl9kZXF1ZXVlX2xkcGNfZW5j X29uZV9vcF90YuKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNDI1 OjQyOiBlcnJvcjog4oCYUlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRf RVJST1LigJk/CiAzNDI1IHwgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8 PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9k ZXF1ZXVlX2VuY19vbmVfb3BfdGLigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6MzQ5Mzo1ODogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JC REVWX0VWRU5UX0VSUk9S4oCZPwogMzQ5MyB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9 ICgocnNwLmVuZ2luZV9odW5nKSA/ICgxIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1IpIDogMCk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9F UlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDi gJh2cmJfZGVxdWV1ZV9kZWNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjM1NDA6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM1NDAgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0g cnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogSW4g ZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfbGRwY19kZWNfb25lX29wX2Ni4oCZOgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjM1OTU6NDI6IGVycm9yOiDigJhSVEVfQkJERVZf RU5HSU5FX0VSUk9S4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDM1OTUgfCAgICAgICAg IG9wLT5zdGF0dXMgfD0gcnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSVEVfQkJERVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRl X3ZyYl9wbWQuYzogSW4gZnVuY3Rpb24g4oCYdnJiX2RlcXVldWVfZGVjX29uZV9vcF90YuKAmToK Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzozNjc3OjU4OiBlcnJvcjog4oCY UlRFX0JCREVWX0VOR0lORV9FUlJPUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfRVZFTlRfRVJST1LigJk/CiAzNjc3 IHwgICAgICAgICAgICAgICAgIG9wLT5zdGF0dXMgfD0gKChyc3AuZW5naW5lX2h1bmcpID8gKDEg PDwgUlRFX0JCREVWX0VOR0lORV9FUlJPUikgOiAwKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX0VWRU5UX0VSUk9SCi4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZG1hX2Rlc2NfZmZ0X2ZpbGzi gJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6Mzk5MDo1MTogZXJyb3I6 IOKAmFJURV9CQkRFVl9GRlRfREVXSU5ET1dJTkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVWX0ZGVF9XSU5ET1dJTkfi gJk/CiAzOTkwIHwgICAgICAgICBib29sIHdpbl9lbiA9IGNoZWNrX2JpdChvcC0+ZmZ0Lm9wX2Zs YWdzLCBSVEVfQkJERVZfRkZUX0RFV0lORE9XSU5HKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJURV9CQkRFVl9GRlRfV0lORE9XSU5HCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NDAxNjoyNTogZXJyb3I6IOKAmFJURV9CQkRFVl9NQVhfQ1PigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JCREVW X01BWF9DU18y4oCZPwogNDAxNiB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IFJURV9CQkRFVl9N QVhfQ1M7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0JCREVWX01BWF9DU18yCi4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYl9l bnF1ZXVlX2ZmdF9vbmVfb3DigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6NDA0OToyMjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ04oCZIGhhcyBubyBt ZW1iZXIgbmFtZWQg4oCYZGV3aW5kb3dpbmdfaW5wdXTigJkKIDQwNDkgfCAgICAgICAgIHdpbiA9 IG9wLT5mZnQuZGV3aW5kb3dpbmdfaW5wdXQuZGF0YTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDA1MzoyOTogZXJy b3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfb3BfZmZ04oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY ZGV3aW5kb3dpbmdfaW5wdXTigJkKIDQwNTMgfCAgICAgICAgIHdpbl9vZmZzZXQgPSBvcC0+ZmZ0 LmRld2luZG93aW5nX2lucHV0Lm9mZnNldDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlv biDigJh2cmJfZGVxdWV1ZV9mZnRfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQxNDI6NDI6IGVycm9yOiDigJhSVEVfQkJERVZfRU5HSU5FX0VSUk9S4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mFJURV9CQkRFVl9FVkVOVF9FUlJPUuKAmT8KIDQxNDIgfCAgICAgICAgIG9wLT5zdGF0dXMgfD0g cnNwLmVuZ2luZV9odW5nIDw8IFJURV9CQkRFVl9FTkdJTkVfRVJST1I7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEVfQkJE RVZfRVZFTlRfRVJST1IKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQg dG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6Mjg6 IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogNDE5MiB8IHZyYjJfZmN3X21sZHRzX2ZpbGwo c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3AsIHN0cnVjdCBhY2NfZmN3X21sZHRzICpmY3cp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJf ZmN3X21sZHRzX2ZpbGzigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 NDE5NDoyMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3DigJkKIDQxOTQgfCAgICAgICAgIGZjdy0+bnJiID0gb3AtPm1sZHRz Lm51bV9yYnM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk1OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5NSB8ICAgICAg ICAgZmN3LT5OTGF5ZXJzID0gb3AtPm1sZHRzLm51bV9sYXllcnMgLSAxOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQxOTY6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk2IHwgICAgICAgICBmY3ctPlFtb2QwID0gKG9w LT5tbGR0cy5xX21bMF0gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDE5NzoyNTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQxOTcgfCAgICAgICAgIGZjdy0+UW1vZDEgPSAob3AtPm1sZHRzLnFfbVsxXSA+PiAx KSAtIDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTk4OjI1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDE5OCB8ICAgICAg ICAgZmN3LT5RbW9kMiA9IChvcC0+bWxkdHMucV9tWzJdID4+IDEpIC0gMTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQxOTk6MjU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MTk5IHwgICAgICAgICBmY3ctPlFtb2QzID0gKG9w LT5tbGR0cy5xX21bM10gPj4gMSkgLSAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwMToxNTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3DigJkKIDQyMDEgfCAgICAgICAgIGlmIChvcC0+bWxkdHMubnVtX2xheWVycyA9PSAyKSB7CiAg ICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMDU6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjA1IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51 bV9sYXllcnMgPT0gMykKICAgICAgfCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIwNzoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMDcgfCAgICAgICAg IGZjdy0+UnJlcCA9IG9wLT5tbGR0cy5yX3JlcDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjA4OjIzOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0 c19vcOKAmQogNDIwOCB8ICAgICAgICAgZmN3LT5DcmVwID0gb3AtPm1sZHRzLmNfcmVwOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIxMzozMzogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0MjEzIHwgdnJiMl9k bWFfZGVzY19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZG1h X2Rlc2NfbWxkdHNfZmlsbOKAmToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQu Yzo0MjI2OjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIyNiB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5yX3Jl cCA+IDUpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9y dGVfdnJiX3BtZC5jOjQyMjc6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjI3IHwgICAgICAgICAgICAgICAg IG9wLT5tbGR0cy5yX3JlcCA9IDU7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjI4OjE1OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDIy OCB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5udW1fbGF5ZXJzIDwgMikKICAgICAgfCAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIyOToxOTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZf bWxkdHNfb3DigJkKIDQyMjkgfCAgICAgICAgICAgICAgICAgb3AtPm1sZHRzLm51bV9sYXllcnMg PSAyOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDIzMDoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzAgfCAgICAgICAgIGlmIChv cC0+bWxkdHMubnVtX2xheWVycyA+IDQpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzE6MTk6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjMx IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gNDsKICAgICAgfCAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy MzI6Mjc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0MjMyIHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgb3AtPm1s ZHRzLm51bV9sYXllcnM7IGkrKykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIzMzozNzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQyMzMgfCAgICAgICAgICAgICAgICAgb3V0c2l6ZV9wZXJfcmUgKz0gb3AtPm1sZHRzLnFf bVtpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6MjA6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MjM0IHwgICAgICAgICBzY19udW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BF UlJCICogKG9wLT5tbGR0cy5jX3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzQ6Mzg6IGVycm9yOiDi gJhSVEVfQkJERVZfU0NQRVJSQuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiDigJhSVEVfQkJERVZfQ1JDX0VSUk9S4oCZPwogNDIzNCB8ICAg ICAgICAgc2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQiAqIChv cC0+bWxkdHMuY19yZXAgKyAxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQyMzQ6NjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM0IHwgICAgICAgICBzY19u dW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCICogKG9wLT5tbGR0cy5j X3JlcCArIDEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDIzNToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQyMzUgfCAgICAgICAgIHJfbnVtID0gb3AtPm1s ZHRzLm51bV9yYnMgKiBzY19mYWN0b3JfcGVyX3JyZXBbb3AtPm1sZHRzLnJfcmVwXTsKICAgICAg fCAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyMzU6NTg6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjM1IHwgICAgICAgICByX251bSA9IG9wLT5tbGR0 cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjM2OjMzOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDIzNiB8ICAgICAgICAgcV9zaXplID0gcXNpemVfcGVyX3JlW29wLT5tbGR0cy5udW1f bGF5ZXJzIC0gMl0gKiBzY19udW07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyMzc6MzM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZCiA0MjM3IHwgICAgICAgICByX3NpemUgPSByc2l6ZV9wZXJfcmVbb3AtPm1sZHRz Lm51bV9sYXllcnMgLSAyXSAqIHJfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIxOjE4 OiBlcnJvcjogdmFyaWFibGUg4oCYc2NfZmFjdG9yX3Blcl9ycmVw4oCZIHNldCBidXQgbm90IHVz ZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiA0MjIxIHwgICAgICAgICB1aW50 MTZfdCBzY19mYWN0b3JfcGVyX3JyZXBbVlJCMl9NTERfUlJFUF9TSVpFXSA9IHsxMiwgNiwgNCwg MywgMCwgMn07CiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MjIwOjE4OiBlcnJvcjogdmFyaWFi bGUg4oCYcnNpemVfcGVyX3Jl4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1 dC1zZXQtdmFyaWFibGVdCiA0MjIwIHwgICAgICAgICB1aW50MTZfdCByc2l6ZV9wZXJfcmVbVlJC Ml9NTERfTEFZX1NJWkVdID0gezE0LCAyNiwgNDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDIxOTox ODogZXJyb3I6IHZhcmlhYmxlIOKAmHFzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFst V2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDIxOSB8ICAgICAgICAgdWludDE2X3Qg cXNpemVfcGVyX3JlW1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHs4LCAxMiwgMTZ9OyAvKiBMYXllciAy IHRvIDQuICovCiAgICAgIHwgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyNjg6MzY6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBi ZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vy cm9yXQogNDI2OCB8IHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludChzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICpvcCkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1k LmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfY2hlY2tfbWxkX3JfY29uc3RyYWludOKAmToKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc1OjE1OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDI3 NSB8ICAgICAgICAgaWYgKG9wLT5tbGR0cy5jX3JlcCA9PSAwKQogICAgICB8ICAgICAgICAgICAg ICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92 cmJfcG1kLmM6NzoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjc4OjMx OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDI3OCB8ICAgICAgICAgbGF5ZXJfaWR4ID0gUlRFX01JTihvcC0+bWxk dHMubnVtX2xheWVycyAtIFZSQjJfTUxEX01JTl9MQVlFUiwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYxNToy NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwgICAg ICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI3ODoz MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3DigJkKIDQyNzggfCAgICAgICAgIGxheWVyX2lkeCA9IFJURV9NSU4ob3AtPm1s ZHRzLm51bV9sYXllcnMgLSBWUkIyX01MRF9NSU5fTEFZRVIsCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo2MTU6 MzQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX01JTuKAmQogIDYxNSB8ICAg ICAgICAgICAgICAgICB0eXBlb2YgKGEpIF9hID0gKGEpOyBcCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3Bt ZC5jOjQyODA6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MjgwIHwgICAgICAgICBycmVwX2lkeCA9IFJURV9N SU4ob3AtPm1sZHRzLnJfcmVwLCBWUkIyX01MRF9NQVhfUlJFUCk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjYx NToyNTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTUlO4oCZCiAgNjE1IHwg ICAgICAgICAgICAgICAgIHR5cGVvZiAoYSkgX2EgPSAoYSk7IFwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI4 MDozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf YmJkZXZfbWxkdHNfb3DigJkKIDQyODAgfCAgICAgICAgIHJyZXBfaWR4ID0gUlRFX01JTihvcC0+ bWxkdHMucl9yZXAsIFZSQjJfTUxEX01BWF9SUkVQKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6NjE1OjM0OiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9NSU7igJkKICA2MTUgfCAgICAgICAg ICAgICAgICAgdHlwZW9mIChhKSBfYSA9IChhKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mjg0OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDI4NCB8ICAgICAgICAgcmV0dXJuIChvcC0+bWxkdHMubnVt X3JicyA8PSBtYXhfcmJbbGF5ZXJfaWR4XVtycmVwX2lkeF0pOwogICAgICB8ICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBs ZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0Mjg5OjUyOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1l dGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBv ciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQyODkgfCBlbnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0 cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBm dW5jdGlvbiDigJhlbnF1ZXVlX21sZHRzX3NwbGl0X29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQzMDQ6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA0IHwgICAgICAgICBp bnB1dF9xID0gb3AtPm1sZHRzLnFoeV9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzA1OjIxOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9t bGR0c19vcOKAmQogNDMwNSB8ICAgICAgICAgaW5wdXRfciA9IG9wLT5tbGR0cy5yX2lucHV0LmRh dGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMDY6MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA2IHwgICAgICAgICBvdXRw dXQgPSBvcC0+bWxkdHMub3V0cHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMwNzoyMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3Di gJkKIDQzMDcgfCAgICAgICAgIGluX29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0 OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2Fj Yy9ydGVfdnJiX3BtZC5jOjQzMDg6MjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzA4IHwgICAgICAgICBvdXRf b2Zmc2V0ID0gb3AtPm1sZHRzLm91dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMDk6MjI6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29w4oCZCiA0MzA5IHwgICAgICAgICBudW1fc3ltcyA9IG9wLT5tbGR0cy5jX3JlcCAr IDE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzExOjI5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKA mHZyYjJfZmN3X21sZHRzX2ZpbGzigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFst V2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDMxMSB8ICAgICAgICAgdnJiMl9m Y3dfbWxkdHNfZmlsbChvcCwgZmN3KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MTkyOjQ4OiBub3RlOiBleHBlY3RlZCDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MTkyIHwgdnJiMl9mY3dfbWxkdHNf ZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwgc3RydWN0IGFjY19mY3dfbWxkdHMg KmZjdykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fl5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMxNToxNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQzMTUgfCAgICAgICAgIGlmIChvcC0+bWxkdHMucl9yZXAgPiA1KQogICAgICB8 ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 MzE2OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmQogNDMxNiB8ICAgICAgICAgICAgICAgICBvcC0+bWxkdHMucl9y ZXAgPSA1OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDMxNzoxNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzMTcgfCAgICAgICAgIGlm IChvcC0+bWxkdHMubnVtX2xheWVycyA8IDIpCiAgICAgIHwgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMTg6MTk6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0 MzE4IHwgICAgICAgICAgICAgICAgIG9wLT5tbGR0cy5udW1fbGF5ZXJzID0gMjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQzMTk6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzE5IHwgICAgICAgICBpZiAob3AtPm1sZHRzLm51bV9s YXllcnMgPiA0KQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9h Y2MvcnRlX3ZyYl9wbWQuYzo0MzIwOjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyMCB8ICAgICAgICAgICAg ICAgICBvcC0+bWxkdHMubnVtX2xheWVycyA9IDQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzIyOjI3OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19v cOKAmQogNDMyMiB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG9wLT5tbGR0cy5udW1fbGF5ZXJz OyBpKyspCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzMjM6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzIzIHwgICAg ICAgICAgICAgICAgIG91dHNpemVfcGVyX3JlICs9IG9wLT5tbGR0cy5xX21baV07CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFu ZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI0OjIwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNCB8ICAgICAgICAg c2NfbnVtID0gb3AtPm1sZHRzLm51bV9yYnMgKiBSVEVfQkJERVZfU0NQRVJSQjsgLyogQyByZXAg Zm9yY2VkIHRvIHplcm8uICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNDozODogZXJyb3I6IOKAmFJURV9CQkRF Vl9TQ1BFUlJC4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmFJURV9CQkRFVl9DUkNfRVJST1LigJk/CiA0MzI0IHwgICAgICAgICBzY19u dW0gPSBvcC0+bWxkdHMubnVtX3JicyAqIFJURV9CQkRFVl9TQ1BFUlJCOyAvKiBDIHJlcCBmb3Jj ZWQgdG8gemVyby4gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUlRFX0JCREVWX0NSQ19FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOjQzMjU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0MzI1IHwgICAgICAgICByX251bSA9IG9w LT5tbGR0cy5udW1fcmJzICogc2NfZmFjdG9yX3Blcl9ycmVwW29wLT5tbGR0cy5yX3JlcF07CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3Zy Yl9wbWQuYzo0MzI1OjU4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDMyNSB8ICAgICAgICAgcl9udW0gPSBvcC0+ bWxkdHMubnVtX3JicyAqIHNjX2ZhY3Rvcl9wZXJfcnJlcFtvcC0+bWxkdHMucl9yZXBdOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDMyNjozMzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3DigJkKIDQzMjYgfCAgICAgICAgIHFfc2l6ZSA9IHFzaXplX3Blcl9yZVtvcC0+bWxkdHMu bnVtX2xheWVycyAtIDJdICogc2NfbnVtOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzI3OjMz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcOKAmQogNDMyNyB8ICAgICAgICAgcl9zaXplID0gcnNpemVfcGVyX3JlW29wLT5t bGR0cy5udW1fbGF5ZXJzIC0gMl0gKiByX251bTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5 NDoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHNjX2ZhY3Rvcl9wZXJfcnJlcOKAmSBzZXQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5NCB8ICAgICAgICAg dWludDE2X3Qgc2NfZmFjdG9yX3Blcl9ycmVwW1ZSQjJfTUxEX1JSRVBfU0laRV0gPSB7MTIsIDYs IDQsIDMsIDAsIDJ9OwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI5MzoxODogZXJyb3I6IHZh cmlhYmxlIOKAmHJzaXplX3Blcl9yZeKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNl ZC1idXQtc2V0LXZhcmlhYmxlXQogNDI5MyB8ICAgICAgICAgdWludDE2X3QgcnNpemVfcGVyX3Jl W1ZSQjJfTUxEX0xBWV9TSVpFXSA9IHsxNCwgMjYsIDQyfTsKICAgICAgfCAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQy OTI6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhxc2l6ZV9wZXJfcmXigJkgc2V0IGJ1dCBub3QgdXNl ZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDQyOTIgfCAgICAgICAgIHVpbnQx Nl90IHFzaXplX3Blcl9yZVtWUkIyX01MRF9MQVlfU0laRV0gPSB7OCwgMTIsIDE2fTsgLyogTGF5 ZXIgMiB0byA0LiAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVy cy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzcxOjUwOiBlcnJvcjog4oCYc3RydWN0IHJ0 ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBu b3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBb LVdlcnJvcl0KIDQzNzEgfCBlbnF1ZXVlX21sZHRzX29uZV9vcChzdHJ1Y3QgYWNjX3F1ZXVlICpx LCBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGVucXVldWVf bWxkdHNfb25lX29w4oCZOgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQz ODI6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRl X2JiZGV2X21sZHRzX29w4oCZCiA0MzgyIHwgICAgICAgICBpbnB1dF9xID0gb3AtPm1sZHRzLnFo eV9pbnB1dC5kYXRhOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzgzOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDM4MyB8ICAg ICAgICAgaW5wdXRfciA9IG9wLT5tbGR0cy5yX2lucHV0LmRhdGE7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODQ6 MjA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0Mzg0IHwgICAgICAgICBvdXRwdXQgPSBvcC0+bWxkdHMub3V0cHV0 LmRhdGE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6NDM4NToyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkKIDQzODUgfCAgICAgICAgIGlu X29mZnNldCA9IG9wLT5tbGR0cy5xaHlfaW5wdXQub2Zmc2V0OwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODY6 MjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29w4oCZCiA0Mzg2IHwgICAgICAgICBvdXRfb2Zmc2V0ID0gb3AtPm1sZHRzLm91 dHB1dC5vZmZzZXQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQzODg6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3Vt ZW50IDEgb2Yg4oCYdnJiMl9mY3dfbWxkdHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0Mzg4IHwgICAg ICAgICB2cmIyX2Zjd19tbGR0c19maWxsKG9wLCBmY3cpOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNf b3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQxOTI6NDg6IG5vdGU6 IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1lbnQg aXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQxOTIgfCB2cmIy X2Zjd19tbGR0c19maWxsKHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKm9wLCBzdHJ1Y3QgYWNj X2Zjd19tbGR0cyAqZmN3KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0 Mzg5OjM0OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmHZyYjJfZG1hX2Rlc2NfbWxk dHNfZmlsbOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21w YXRpYmxlLXBvaW50ZXItdHlwZXNdCiA0Mzg5IHwgICAgICAgICB2cmIyX2RtYV9kZXNjX21sZHRz X2ZpbGwob3AsICZkZXNjLT5yZXEsIGlucHV0X3EsIGlucHV0X3IsIG91dHB1dCwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0MjEzOjUzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgcnRlX2JiZGV2 X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRl dl9tbGR0c19vcCAq4oCZCiA0MjEzIHwgdnJiMl9kbWFfZGVzY19tbGR0c19maWxsKHN0cnVjdCBy dGVfYmJkZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVf dnJiX3BtZC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJf cG1kLmM6NDQwMToyNDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3DigJkgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiA0NDAxIHwgICAgICAg ICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipvcHMsIHVpbnQxNl90IG51bSkK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOiBJbiBmdW5jdGlvbiDigJh2cmIyX2VucXVl dWVfbWxkdHPigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQxNTo2 MDogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJh2cmIyX2NoZWNrX21sZF9yX2NvbnN0 cmFpbnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0 aWJsZS1wb2ludGVyLXR5cGVzXQogNDQxNSB8ICAgICAgICAgICAgICAgICBhc19vbmVfb3AgPSB2 cmIyX2NoZWNrX21sZF9yX2NvbnN0cmFpbnQob3BzW2ldKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl5+fgogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDI2ODo1Njogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVj dCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmQogNDI2OCB8IHZyYjJfY2hlY2tfbWxkX3JfY29uc3Ry YWludChzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICpvcCkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efgouLi9kcml2ZXJz L2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0MTY6NTM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NDE2IHwg ICAgICAgICAgICAgICAgIGRlc2NzX2luX29wID0gYXNfb25lX29wID8gMSA6IG9wc1tpXS0+bWxk dHMuY19yZXAgKyAxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5j OjQ0MjY6NTg6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYZW5xdWV1ZV9tbGR0c19v bmVfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0 aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9 IGVucXVldWVfbWxkdHNfb25lX29wKHEsIG9wc1tpXSwgZW5xdWV1ZWRfZGVzY3MpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fl5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoKLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0MzcxOjcwOiBub3RlOiBleHBlY3RlZCDi gJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg 4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAq4oCZCiA0MzcxIHwgZW5xdWV1ZV9tbGR0c19v bmVfb3Aoc3RydWN0IGFjY19xdWV1ZSAqcSwgc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqb3As CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9w bWQuYzo0NDI4OjYwOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGVucXVldWVfbWxk dHNfc3BsaXRfb3DigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWlu Y29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogNDQyOCB8ICAgICAgICAgICAgICAgICAgICAgICAg IHJldCA9IGVucXVldWVfbWxkdHNfc3BsaXRfb3AocSwgb3BzW2ldLCBlbnF1ZXVlZF9kZXNjcyk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5efn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBydGVfYmJkZXZfbWxk dHNfb3AgKgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQyODk6NzI6IG5v dGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKuKAmSBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICrigJkKIDQyODkgfCBl bnF1ZXVlX21sZHRzX3NwbGl0X29wKHN0cnVjdCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJk ZXZfbWxkdHNfb3AgKm9wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ0NTU6NDU6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2JiZGV2X21s ZHRzX29w4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNp YmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQog NDQ1NSB8ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNjX3F1ZXVlICpxLCBzdHJ1Y3QgcnRlX2Ji ZGV2X21sZHRzX29wICoqcmVmX29wLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQv YWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmGRlcXVldWVfbWxkdHNfb25lX29w4oCZ OgouLi9kcml2ZXJzL2Jhc2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ0OTk6MTE6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w 4oCZCiA0NDk5IHwgICAgICAgICBvcC0+c3RhdHVzID0gMDsKICAgICAgfCAgICAgICAgICAgXn4K Li4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA1OjE5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKA mQogNDUwNSB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5pbnB1dF9lcnIgPDwg UlRFX0JCREVWX0RBVEFfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA2OjE5OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUw NiB8ICAgICAgICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5kbWFfZXJyIDw8IFJURV9CQkRF Vl9EUlZfRVJST1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNl YmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTA3OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUwNyB8ICAgICAg ICAgICAgICAgICBvcC0+c3RhdHVzIHw9IHJzcC5mY3dfZXJyIDw8IFJURV9CQkRFVl9EUlZfRVJS T1I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2Mv cnRlX3ZyYl9wbWQuYzo0NTA4OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUwOCB8ICAgICAgICAgICAgICAg ICBvcC0+c3RhdHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9S OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0 ZV92cmJfcG1kLmM6NDUwODo1MDogZXJyb3I6IOKAmFJURV9CQkRFVl9FTkdJTkVfRVJST1LigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCY UlRFX0JCREVWX0VWRU5UX0VSUk9S4oCZPwogNDUwOCB8ICAgICAgICAgICAgICAgICBvcC0+c3Rh dHVzIHw9IHJzcC5lbmdpbmVfaHVuZyA8PCBSVEVfQkJERVZfRU5HSU5FX0VSUk9SOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJURV9CQkRFVl9FVkVOVF9FUlJPUgouLi9kcml2ZXJzL2Jhc2ViYW5k L2FjYy9ydGVfdnJiX3BtZC5jOjQ1MTE6MTU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29w4oCZCiA0NTExIHwgICAgICAgICBp ZiAob3AtPnN0YXR1cyAhPSAwKQogICAgICB8ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9i YXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTEzOjE1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmQogNDUxMyB8ICAg ICAgICAgaWYgKG9wLT5zdGF0dXMgJiAoMSA8PCBSVEVfQkJERVZfRFJWX0VSUk9SKSkKICAgICAg fCAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6 IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTMx OjI0OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcOKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVm aW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIDQ1MzEgfCAgICAgICAgICAgICAgICAg c3RydWN0IHJ0ZV9iYmRldl9tbGR0c19vcCAqKm9wcywgdWludDE2X3QgbnVtKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYmFzZWJh bmQvYWNjL3J0ZV92cmJfcG1kLmM6IEluIGZ1bmN0aW9uIOKAmHZyYjJfZGVxdWV1ZV9tbGR0c+KA mToKLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzo0NTQyOjU1OiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGRlcXVldWVfbWxkdHNfb25lX29w4oCZIGZyb20gaW5j b21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBl c10KIDQ1NDIgfCAgICAgICAgICAgICAgICAgcmV0ID0gZGVxdWV1ZV9tbGR0c19vbmVfb3AocV9k YXRhLCBxLCAmb3BzW2ldLCBkZXF1ZXVlZF9jYnMsICZhcV9kZXF1ZXVlZCk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX2JiZGV2X21sZHRzX29wICoqCi4uL2RyaXZlcnMvYmFz ZWJhbmQvYWNjL3J0ZV92cmJfcG1kLmM6NDQ1NTo2Njogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0 IHJ0ZV9iYmRldl9tbGR0c19vcCAqKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1 Y3QgcnRlX2JiZGV2X21sZHRzX29wICoq4oCZCiA0NDU1IHwgICAgICAgICAgICAgICAgIHN0cnVj dCBhY2NfcXVldWUgKnEsIHN0cnVjdCBydGVfYmJkZXZfbWxkdHNfb3AgKipyZWZfb3AsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5efn5+fn4KLi4vZHJpdmVycy9iYXNlYmFuZC9hY2MvcnRlX3ZyYl9wbWQuYzog SW4gZnVuY3Rpb24g4oCYdnJiX2JiZGV2X2luaXTigJk6Ci4uL2RyaXZlcnMvYmFzZWJhbmQvYWNj L3J0ZV92cmJfcG1kLmM6NDU3MzoxNDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYmJkZXbigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJhlbnF1ZXVlX21sZHRzX29wc+KAmTsgZGlkIHlvdSBtZWFuIOKA mGVucXVldWVfZGVjX29wc+KAmT8KIDQ1NzMgfCAgICAgICAgIGRldi0+ZW5xdWV1ZV9tbGR0c19v cHMgPSB2cmIyX2VucXVldWVfbWxkdHM7CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgIGVucXVldWVfZGVjX29wcwouLi9kcml2ZXJzL2Jh c2ViYW5kL2FjYy9ydGVfdnJiX3BtZC5jOjQ1NzQ6MTQ6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2Ji ZGV24oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZGVxdWV1ZV9tbGR0c19vcHPigJk7IGRpZCB5 b3UgbWVhbiDigJhkZXF1ZXVlX2RlY19vcHPigJk/CiA0NTc0IHwgICAgICAgICBkZXYtPmRlcXVl dWVfbWxkdHNfb3BzID0gdnJiMl9kZXF1ZXVlX21sZHRzOwogICAgICB8ICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICBkZXF1ZXVlX2RlY19vcHMKY2Mx OiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzIzMDIvMjgxN10gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlicnRlX2V2ZW50X3N3LmEucC9tZXNvbi1nZW5lcmF0ZWRf Li5fcnRlX2V2ZW50X3N3LnBtZC5jLm8KWzIzMDMvMjgxN10gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9ldmVudF9vY3Rlb250eC5hLnAvZXZlbnRfb2N0ZW9udHhfc3NvdmZf ZXZkZXZfc2VsZnRlc3QuYy5vClsyMzA0LzI4MTddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfYmFzZWJhbmRfbGExMnh4LmEucC9iYXNlYmFuZF9sYTEyeHhfYmJkZXZfbGEx Mnh4LmMubwpbMjMwNS8yODE3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRl X2Jhc2ViYW5kX2ZwZ2FfbHRlX2ZlYy5hLnAvYmFzZWJhbmRfZnBnYV9sdGVfZmVjX2ZwZ2FfbHRl X2ZlYy5jLm8KWzIzMDYvMjgxN10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjLmEucC9iYXNlYmFuZF9mcGdhXzVnbnJfZmVjX3J0ZV9m cGdhXzVnbnJfZmVjLmMubwpbMjMwNy8yODE3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2Jhc2ViYW5kX251bGwuYS5wL2Jhc2ViYW5kX251bGxfYmJkZXZfbnVsbC5jLm8K WzIzMDgvMjgxN10gQ29tcGlsaW5nIEMgb2JqZWN0IGFwcC9kcGRrLWR1bXBjYXAucC9kdW1wY2Fw X21haW4uYy5vClsyMzA5LzI4MTddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9y dGVfYmFzZWJhbmRfdHVyYm9fc3cuYS5wL2Jhc2ViYW5kX3R1cmJvX3N3X2JiZGV2X3R1cmJvX3Nv ZnR3YXJlLmMubwpbMjMxMC8yODE3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2Jhc2ViYW5kX2FjYy5hLnAvYmFzZWJhbmRfYWNjX3J0ZV9hY2MxMDBfcG1kLmMubwpuaW5q YTogYnVpbGQgc3RvcHBlZAoKCkRQREsgU1RWIHRlYW0K --===============3999668639687143655==--