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 5AB9F469E9 for ; Wed, 18 Jun 2025 08:50:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3ED8740E0F; Wed, 18 Jun 2025 08:50:37 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.18]) by mails.dpdk.org (Postfix) with ESMTP id 8CFE640E0F for ; Wed, 18 Jun 2025 08:50:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1750229433; x=1781765433; h=message-id:date:mime-version:subject:from:to:cc; bh=ghCOHrp2N84FgtJK8AMuN2GBTJ4ntNjxTI6Lpm4fANU=; b=InXnsxKS9vmxC3iqCmKnmo2m13MbHKFYrf+MK9ak/tcwl80P0WIy9cXo sjlK3fhoHtwOAl4l0KrpSMOARkbcwsPgs3SADhgU5DcKD07K+YEdvGjIH gQh1eAaWJNS0qmd95PbrcFiJTfVVJp/Su/tMQYi30bcoGfqgoarTAfgq0 U5vEYFOe1Vi1WttTXXxxLq5F6gU9/BouRLrabvICG55fRmuAOZfWiIBjl U7i7DXSTj6cKwTiNWdFv2CIWZxiNCzc1r8LAA/P2GYdcTR550H0iNMhQg 9KnKgGTUSrfOSggpnBpETipOEqYp4WMr9OngAI7n7SaiSZNFOPBac52jT g==; X-CSE-ConnectionGUID: 7U8GjsxaRWaGVgdeNCGpMw== X-CSE-MsgGUID: i8f6jIc1SDKWSHZvmjYzwQ== X-IronPort-AV: E=McAfee;i="6800,10657,11467"; a="51659255" X-IronPort-AV: E=Sophos;i="6.16,245,1744095600"; d="scan'208";a="51659255" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa112.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2025 23:50:31 -0700 X-CSE-ConnectionGUID: 3AGSxaxkSh6Nh8WDUSPsDw== X-CSE-MsgGUID: ssppif7xSQS8C57eOhRqhg== Message-Id: <7b7dee$4eakb5@orviesa009-auth.jf.intel.com> Date: 17 Jun 2025 23:49:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,245,1744095600"; d="scan'208";a="149246309" Received: from unknown (HELO [10.239.252.161]) ([10.239.252.161]) by orviesa009-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2025 23:49:43 -0700 Content-Type: multipart/alternative; boundary="===============7846271702588771091==" MIME-Version: 1.0 Subject: compilation|FAILURE| pw(154549) sid(35495) job(PER_PATCH_BUILD15923)crypto/cnxk: add sessionless asym cn20k support From: sys_stv@intel.com To: test-report@dpdk.org, nkaithakadan@marvell.com Cc: 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 --===============7846271702588771091== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 ClRlc3QtTGFiZWw6IEludGVsLWNvbXBpbGF0aW9uClRlc3QtU3RhdHVzOiBGQUlMVVJFCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xNTQ1NDkKCl9Db21waWxhdGlvbiBpc3N1ZXNfCgpTdWJtaXR0ZXI6 IE5pdGhpbnNlbiBLYWl0aGFrYWRhbiA8bmthaXRoYWthZGFuQG1hcnZlbGwuY29tPgpEYXRlOiAy MDI1LTA2LTE4IDA2OjIxOjM1ClJlcGx5X21haWw6IDwyMDI1MDYxODA2MjEzNS40ODkxNTgtMS1u a2FpdGhha2FkYW5AbWFydmVsbC5jb20+CgpEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLW5l eHQtY3J5cHRvLCBDb21taXRJRDogMGM2MmI1ZmM4M2RhNzllZjFjZWI5YmY3NWIzZTI4MDgxY2Mx OWI0MwoKCk1lc29uIEJ1aWxkIFN1bW1hcnk6IDIzIEJ1aWxkcyBEb25lLCA1IFN1Y2Nlc3NmdWws IDE4IEZhaWx1cmVzLCAwIEJsb2NrZWQKCistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKwp8IG9zICAgICAgICAgICAgICAgIHwgZ2NjLXN0YXRpYyB8 IGNsYW5nLXN0YXRpYyB8IGljYy1zdGF0aWMgfCBnY2Mtc2hhcmVkIHwgZ2NjLWRlYnVnIHwgZG9j dW1lbnQgfCBnY2MtMTZieXRlIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rCnwgT3BlbkFub2xpczguMTAtNjQgfCBmYWlsICAgICAgIHwgICAg ICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAg ICB8ICAgICAgICAgICAgfAp8IEZyZWVCU0QxNC02NCAgICAgIHwgcGFzcyAgICAgICB8IHBhc3Mg ICAgICAgICB8ICAgICAgICAgICAgfCBwYXNzICAgICAgIHwgcGFzcyAgICAgIHwgICAgICAgICAg fCAgICAgICAgICAgIHwKfCBSSEVMOTYtNjQgICAgICAgICB8IGZhaWwgICAgICAgfCBmYWlsICAg ICAgICAgfCAgICAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAgICB8ICAgICAgICAgIHwg ICAgICAgICAgICB8CnwgU1VTRTE1LTY0ICAgICAgICAgfCBmYWlsICAgICAgIHwgZmFpbCAgICAg ICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAg ICAgICAgICAgfAp8IEF6dXJlTGludXgzLjAtNjQgIHwgZmFpbCAgICAgICB8ICAgICAgICAgICAg ICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAg ICAgICAgIHwKfCBVQjI0MDQtMzIgICAgICAgICB8IHBhc3MgICAgICAgfCAgICAgICAgICAgICAg fCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAg ICAgICB8CnwgUkhFTDEwLTY0ICAgICAgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwg ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAg ICAgfAp8IFVCMjQwNC02NCAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAgICAgICB8ICAg ICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgZmFpbCAgICAgfCBmYWlsICAgICAg IHwKfCBSSEVMOTYtNjRSVCAgICAgICB8IGZhaWwgICAgICAgfCAgICAgICAgICAgICAgfCAgICAg ICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8 CnwgVUIyNTA0LTY0ICAgICAgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAg ICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfAp8 IEZDNDItNjQgICAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAgICAgICB8ICAgICAgICAg ICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBV QjI0MDQtNjRSVCAgICAgICB8IGZhaWwgICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAgICAg IHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8CistLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKwoKQ29tbWVu dHM6IApCZWNhdXNlIG9mIERQREsgYnVnIChodHRwczovL2J1Z3MuZHBkay5vcmcvc2hvd19idWcu Y2dpP2lkPTkyOCksCkFsbCB0aGUgZHBkay1uZXh0LSogYnJhbmNoIGFkZCBgRGRpc2FibGVfZHJp dmVycz1ldmVudC9jbnhrYCBvcHRpb24gd2hlbiBidWlsZCB3aXRoIElDQyBjb21wbGllci4gCiAK VGVzdCBlbnZpcm9ubWVudCBhbmQgY29uZmlndXJhdGlvbiBhcyBiZWxvdzoKCgpPUzogT3BlbkFu b2xpczguMTAtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjEwLjEzNC0xOC5hbjgueDg2XzY0CglHQ0Mg VmVyc2lvbjogZ2NjIChHQ0MpIDguNS4wIDIwMjEwNTE0IChBbm9saXMgOC41LjAtMjQuMC4xKQoJ Q2xhbmcgVmVyc2lvbjogMTguMS44IChSZWQgSGF0IDE4LjEuOC0xLjAuMS5tb2R1bGUrYW44Ljku MCsxMTI4Nys5ZDAyOTJkMykKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogRnJlZUJT RDE0LTY0CglLZXJuZWwgVmVyc2lvbjogMTQuMi1SRUxFQVNFCglHQ0MgVmVyc2lvbjogZ2NjIChG cmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDEzLjMuMAoJQ2xhbmcgVmVyc2lvbjogMTguMS42ICho dHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QuZ2l0IGxsdm1vcmctMTguMS42LTAt ZzExMThjMmUwNWU2NykKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1i c2RhcHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytzaGFyZWQKCXg4Nl82NC1uYXRp dmUtYnNkYXBwLWdjYytkZWJ1ZwoKT1M6IFJIRUw5Ni02NAoJS2VybmVsIFZlcnNpb246IDUuMTQu MC01NzAuMTIuMS5lbDlfNi54ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgMTEuNS4wIDIw MjQwNzE5IChSZWQgSGF0IDExLjUuMC01KQoJQ2xhbmcgVmVyc2lvbjogMTkuMS43IChSZWQgSGF0 LCBJbmMuIDE5LjEuNy0yLmVsOSkKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgl4ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYytzaGFyZWQK CXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK2RlYnVnCgpPUzogU1VTRTE1LTY0CglLZXJuZWwg VmVyc2lvbjogNi40LjAtMTUwNzAwLjUxLWRlZmF1bHQKCUdDQyBWZXJzaW9uOiBnY2MgKFNVU0Ug TGludXgpIDcuNS4wCglDbGFuZyBWZXJzaW9uOiAxNy4wLjYKCXg4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogQXp1cmVMaW51eDMuMC02 NAoJS2VybmVsIFZlcnNpb246IDYuNi40Ny4xLTEuYXpsMwoJR0NDIFZlcnNpb246IGdjYyAoR0ND KSAxMy4yLjAKCUNsYW5nIFZlcnNpb246IDE4LjEuMgoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MKCk9TOiBVQjI0MDQtMzIKCUtlcm5lbCBWZXJzaW9uOiA2LjguMC00MS1nZW5lcmljCglHQ0Mg VmVyc2lvbjogZ2NjIChVYnVudHUgMTMuMy4wLTZ1YnVudHUyfjI0LjA0KSAxMy4zLjAKCUNsYW5n IFZlcnNpb246IE5BCglpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKCk9TOiBSSEVMMTAtNjQKCUtl cm5lbCBWZXJzaW9uOiA2LjEyLjAtNTUuOS4xLmVsMTBfMC54ODZfNjQKCUdDQyBWZXJzaW9uOiBn Y2MgKEdDQykgMTQuMi4xIDIwMjUwMTEwIChSZWQgSGF0IDE0LjIuMS03KQoJQ2xhbmcgVmVyc2lv bjogMTkuMS43IChSZWQgSGF0LCBJbmMuIDE5LjEuNy0yLmVsMTApCgl4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYwoKT1M6IFVCMjQwNC02NAoJS2VybmVsIFZlcnNpb246IDYuOC4wLTQxLWdlbmVy aWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSAxMy4zLjAtNnVidW50dTJ+MjQuMDQpIDEzLjMu MAoJQ2xhbmcgVmVyc2lvbjogTkEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjKzE2Ynl0ZQoJ eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcK CXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZG9jCgpPUzogUkhFTDk2LTY0UlQKCUtlcm5lbCBWZXJz aW9uOiA1LjE0LjAtNTcwLjEyLjEuZWw5XzYueDg2XzY0CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0Mp IDExLjUuMCAyMDI0MDcxOSAoUmVkIEhhdCAxMS41LjAtNSkKCUNsYW5nIFZlcnNpb246IDE5LjEu NyAoUmVkIEhhdCwgSW5jLiAxOS4xLjctMi5lbDkpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj YwoKT1M6IFVCMjUwNC02NAoJS2VybmVsIFZlcnNpb246IDYuMTQuMC0xNS1nZW5lcmljCglHQ0Mg VmVyc2lvbjogZ2NjIChVYnVudHUgMTQuMi4wLTE5dWJ1bnR1MikgMTQuMi4wCglDbGFuZyBWZXJz aW9uOiBOQQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCk9TOiBGQzQyLTY0CglLZXJuZWwg VmVyc2lvbjogNi4xNC4wLTYzLmZjNDIueDg2XzY0CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDE1 LjAuMSAyMDI1MDMyOSAoUmVkIEhhdCAxNS4wLjEtMCkKCUNsYW5nIFZlcnNpb246IDIwLjEuMyAo RmVkb3JhIDIwLjEuMy0xLmZjNDIpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1jbGFuZwoKT1M6IFVCMjQwNC02NFJUCglLZXJuZWwgVmVyc2lvbjog Ni44LjAtcnQ4CglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgMTMuMy4wLTZ1YnVudHUyfjI0LjA0 KSAxMy4zLjAKCUNsYW5nIFZlcnNpb246IE5BCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoK CgoqQnVpbGQgRmFpbGVkICMxOgpPUzogT3BlbkFub2xpczguMTAtNjQKVGFyZ2V0OiB4ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254 ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gCmdjYyAtSWRyaXZlcnMv bGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZl cnMvY3J5cHRvL2NueGsgLUkuLi9kcml2ZXJzL2NyeXB0by9jbnhrIC1JbGliL25ldCAtSS4uL2xp Yi9uZXQgLUlkcml2ZXJzL2V2ZW50L2NueGsgLUkuLi9kcml2ZXJzL2V2ZW50L2NueGsgLUlsaWIv Y3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0b2RldiAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2Vh bC9jb21tb24gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUg LUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFs L2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5j bHVkZSAtSS4uL2tlcm5lbC9saW51eCAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJn cyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbG9nIC1JLi4vbGliL2xvZyAtSWxpYi9tZXRyaWNzIC1J Li4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9t YnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3Jp bmcgLUkuLi9saWIvcmluZyAtSWxpYi9yY3UgLUkuLi9saWIvcmN1IC1JZHJpdmVycy9idXMvcGNp IC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3Bj aSAtSS4uL2xpYi9wY2kgLUlkcml2ZXJzL2NvbW1vbi9jbnhrIC1JLi4vZHJpdmVycy9jb21tb24v Y254ayAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL21ldGVyIC1JLi4vbGliL21l dGVyIC1JbGliL3NlY3VyaXR5IC1JLi4vbGliL3NlY3VyaXR5IC1JbGliL2V2ZW50ZGV2IC1JLi4v bGliL2V2ZW50ZGV2IC1JbGliL2hhc2ggLUkuLi9saWIvaGFzaCAtSWxpYi90aW1lciAtSS4uL2xp Yi90aW1lciAtSWxpYi9kbWFkZXYgLUkuLi9saWIvZG1hZGV2IC1mZGlhZ25vc3RpY3MtY29sb3I9 YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJh IC1XZXJyb3IgLXN0ZD1jMTEgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV3ZsYSAtV2Nhc3Qt cXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1z ZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVz dGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWdu LWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25v LXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dO VV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbXJ0bSAtREFMTE9XX0VYUEVSSU1FTlRBTF9B UEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXZsYSAt VUxBX0lQU0VDX0RFQlVHIC1VQ05YS19DUllQVE9ERVZfREVCVUcgLURSVEVfTE9HX0RFRkFVTFRf TE9HVFlQRT1wbWQuY3J5cHRvLmNueGsgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1NRiBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9v cHMuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254 a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzozNDk6MTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRvX2Fk YXB0ZXJfZXZfbWRhdGFfc2V04oCZCiBjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFf c2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51c2VkLCB2b2lkICpzZXNzLAog Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoyODoxOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9u IG9mIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgd2FzIGhlcmUK IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9k ZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjQ3MDozMjogZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVm aW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs KHN0cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92 ZWNfaW5zdF9maWxs4oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo0NzQ6NDU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIHN0cnVjdCBjcHRfaW5mbGlnaHRfcmVxICpp bmZsX3JlcSA9IHZlY19yZXEtPnJlcTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NTEwOjQxOiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5 cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3Qg dmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtf Y3B0X3FwICpxcCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDoyOTog ZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVy IGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiBbLVdlcnJvcl0KIGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVx dWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAg KnFwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjbjIwa19j cHRfdmVjX3N1Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NTEwOjQxOiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFstV2Vy cm9yPXVudXNlZC1wYXJhbWV0ZXJdCiBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3Jl cXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3Fw ICpxcCkKICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZl bDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBl cnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZl Y19yZXF1ZXN04oCZCiBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0 LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo1NjI6NTM6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkgZGVjbGFyZWQgaW5zaWRl IHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmlu aXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVj dCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZf dCAqdmVjX3RibF9sZW4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NTYyOjI4OiBlcnJvcjog4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRo aXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIGNhX2xtdHN0X3ZlY19zdWJt aXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10s IHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVu Y3Rpb24g4oCYY2FfbG10c3RfdmVjX3N1Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NTc1OjEyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgcXAgPSBidXJzdC0+ cXA7CiAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjY2NDo2OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCY Q05YS19UVF9GUk9NX1RBR+KAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlv bl0KICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRf T1JERVJFRCkKICAgICAgXn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6NjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRp b24gb2Yg4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjQ3OiBlcnJvcjog 4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYQllURV9PUkRFUuKAmT8KICBpZiAoQ05YS19UVF9GUk9NX1RB RyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJZVEVfT1JERVIKLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjQ3OiBub3RlOiBlYWNoIHVu ZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rp b24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo2NjU6MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJv Y19zc29faHdzX2hlYWRfd2FpdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJh dGlvbl0KICAgcm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo2NjU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcm9jX3Nz b19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NjU6IGVycm9yOiB1bnVzZWQgcGFy YW1ldGVyIOKAmHZlY190YmzigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KIGNhX2xtdHN0 X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2 ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjgzOjMwOiBlcnJvcjog 4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIGNhX2xtdHN0X2J1cnN0X3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJz dCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjYV9sbXRzdF9i dXJzdF9zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjY5NToxMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIHFwID0gYnVyc3QtPnFwOwogICAgICAgICAgICBe fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6NDc6IGVy cm9yOiDigJhTU09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhCWVRFX09SREVS4oCZPwogIGlmIChDTlhLX1RUX0ZS T01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQllURV9PUkRFUgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3Njc6MTogZXJyb3I6 IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2Vu cXVldWXigJkgWy1XZXJyb3I9bWlzc2luZy1wcm90b3R5cGVzXQogY24yMGtfY3B0X2NyeXB0b19h ZGFwdGVyX2VucXVldWUodm9pZCAqd3MsIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3Qg bmJfZXZlbnRzKQogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2Nw dF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3NzA6MjE6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRl IGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICBzdHJ1Y3QgdmVjX3JlcXVl c3QgdmVjX3RibFtuYl9ldmVudHNdOwogICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MjoxOTogZXJyb3I6IHN0 b3JhZ2Ugc2l6ZSBvZiDigJhidXJzdOKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IG9wc19idXJz dCBidXJzdDsKICAgICAgICAgICAgICAgICAgIF5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjc5NTozNTogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFt ZXRlciAyIGlzIGluY29tcGxldGUKICAgICAgIGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2 ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODAx OjI3OiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDEgaXMgaW5jb21wbGV0ZQogICAg ICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3QucXApOwog ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjgyMDo0NTogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFt ZXRlciAyIGlzIGluY29tcGxldGUKICAgICBzdWJtaXR0ZWQgPSBjYV9sbXRzdF92ZWNfc3VibWl0 KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo4MzI6NDE6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIg MiBpcyBpbmNvbXBsZXRlCiAgICBjb3VudCArPSBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwg dmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjgzODoyMzogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29tcGxl dGUKICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3QucXAp OwogICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NzcyOjE5OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmGJ1 cnN04oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0 OwogICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NzcwOjIxOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZlY190Ymzi gJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJs W25iX2V2ZW50c107CiAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KQXQgdG9wIGxldmVsOgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoyODoxOiBlcnJvcjog 4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmSBkZWZpbmVkIGJ1dCBu b3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBjbjIwa19jcHRfY3J5cHRvX2FkYXB0 ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51c2VkLCB2 b2lkICpzZXNzLAogXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFs bCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjYwMC8zNjEyXSBDb21waWxpbmcg QyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19j bnhrX2NyeXB0b2Rldi5jLm8KWzI2MDEvMzYxMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfdGxzLmMubwpbMjYw Mi8zNjEyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhr LmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9kZXZhcmdzLmMubwpbMjYwMy8zNjEyXSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jYWFtX2pyLmEucC9j cnlwdG9fY2FhbV9qcl9jYWFtX2pyLmMubwpbMjYwNC8zNjEyXSBDb21waWxpbmcgQyBvYmplY3Qg ZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0 b2Rldl9jYXBhYmlsaXRpZXMuYy5vClsyNjA1LzM2MTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2 X29wcy5jLm8KWzI2MDYvMzYxMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9jcnlwdG9fY2NwLmEucC9jcnlwdG9fY2NwX2NjcF9jcnlwdG8uYy5vClsyNjA3LzM2MTJdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0 b19jbnhrX2NuOWtfY3J5cHRvZGV2X29wcy5jLm8KWzI2MDgvMzYxMl0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24xMGtf Y3J5cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQg IzI6Ck9TOiBSSEVMOTYtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlM RUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtf Y3J5cHRvZGV2X29wcy5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5h LnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvY3J5cHRvL2NueGsgLUkuLi9kcml2 ZXJzL2NyeXB0by9jbnhrIC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUlkcml2ZXJzL2V2ZW50L2Nu eGsgLUkuLi9kcml2ZXJzL2V2ZW50L2NueGsgLUlsaWIvY3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0 b2RldiAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUkuIC1JLi4gLUljb25m aWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUls aWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFs L3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2tlcm5lbC9saW51eCAt SWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIv bG9nIC1JLi4vbGliL2xvZyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVs ZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIv bWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9y Y3UgLUkuLi9saWIvcmN1IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLUlkcml2ZXJz L2NvbW1vbi9jbnhrIC1JLi4vZHJpdmVycy9jb21tb24vY254ayAtSWxpYi9ldGhkZXYgLUkuLi9s aWIvZXRoZGV2IC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1JbGliL3NlY3VyaXR5IC1JLi4v bGliL3NlY3VyaXR5IC1JbGliL2V2ZW50ZGV2IC1JLi4vbGliL2V2ZW50ZGV2IC1JbGliL2hhc2gg LUkuLi9saWIvaGFzaCAtSWxpYi90aW1lciAtSS4uL2xpYi90aW1lciAtSWxpYi9kbWFkZXYgLUku Li9saWIvZG1hZGV2IC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJ VFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLXN0ZD1jMTEgLU8zIC1p bmNsdWRlIHJ0ZV9jb25maWcuaCAtV3ZsYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3Jt YXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFy YXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUt ZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90 eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25v LW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5h dGl2ZSAtbXJ0bSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkg LVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25v LXZsYSAtVUxBX0lQU0VDX0RFQlVHIC1VQ05YS19DUllQVE9ERVZfREVCVUcgLURSVEVfTE9HX0RF RkFVTFRfTE9HVFlQRT1wbWQuY3J5cHRvLmNueGsgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVf Y3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1NRiBk cml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0 b2Rldl9vcHMuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlw dG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzozNDk6MTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5 cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V04oCZCiAgMzQ5IHwgY24yMGtfY3B0X2NyeXB0b19hZGFw dGVyX2V2X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwg dm9pZCAqc2VzcywKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IG5vdGU6 IHByZXZpb3VzIGRlZmluaXRpb24gb2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21k YXRhX3NldOKAmSB3aXRoIHR5cGUg4oCYaW50KHN0cnVjdCBydGVfY3J5cHRvZGV2ICosIHZvaWQg KiwgZW51bSBydGVfY3J5cHRvX29wX3R5cGUsICBlbnVtIHJ0ZV9jcnlwdG9fb3Bfc2Vzc190eXBl LCAgdm9pZCAqKeKAmQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9z ZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAg ICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6IGVycm9yOiDigJhzdHJ1Y3Qg dmVjX3JlcXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJy b3JdCiAgNDcwIHwgY24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2 ZWNfcmVxLCBzdHJ1Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs4oCZ OgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzQ6NTI6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3Ti gJkKICA0NzQgfCAgICAgICAgIHN0cnVjdCBjcHRfaW5mbGlnaHRfcmVxICppbmZsX3JlcSA9IHZl Y19yZXEtPnJlcTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo0ODY6MzI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3QgdmVjX3JlcXVlc3TigJkKICA0ODYgfCAgICAgICAgIGluZmxfcmVxLT52ZWMgPSB2ZWNfcmVx LT52ZWM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ5NDozMTogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ5NCB8 ICAgICAgICAgaW5zdC0+dzIudTY0ID0gdmVjX3JlcS0+dzI7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NTEwOjQxOiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVt ZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19z dWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4s IHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NTEwOjI5OiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xh cmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2Yg dGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDUxMCB8IGNuMjBrX2Nw dF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190 YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X3ZlY19zdWJtaXTigJk6Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IHVu dXNlZCBwYXJhbWV0ZXIg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQog IDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10s IHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogYXJy YXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN0 4oCZCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwg c3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjU2Mjo1MzogZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBp bnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMg ZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNf c3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3Ri bFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogZXJyb3I6IOKAmHN0cnVjdCBv cHNfYnVyc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3Jd CiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3Ry dWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3RfdmVjX3N1 Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTc1 OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDU3NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf ZGVidWcuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf Yml0b3BzLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRl X21lbW9yeS5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0 ZV9tYWxsb2MuaDoxNiwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5 cHRvZGV2X3BtZC5oOjIwLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6NjAxOjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5 KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywg YnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtl bHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjYwNjozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MDYgfCAgICAgICAgIGZvciAoaSA9 IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjYxMTo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBv cHNfYnVyc3TigJkKICA2MTEgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxf aW5zdChxcCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjE4LAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEzOjcwOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKA mQogIDYxMyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3Qg cHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2xpYi9sb2cvcnRlX2xvZy5oOjMzNDo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhSVEVfTE9H4oCZCiAgMzM0IHwgICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwg IyB0ICI6ICIgX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDQ2OjIz OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ0NiB8ICAgICAg ICAgUlRFX0xPRyhsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18g LCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9s b2cvcnRlX2xvZy5oOjQ0NzozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9G TVRfVEFJTOKAmQogIDQ0NyB8ICAgICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1U X1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0u aDozMDk6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfTElORV9QUkVG SVjigJkKICAzMDkgfCAgICAgICAgIFJURV9MT0dfTElORV9QUkVGSVgoREVCVUcsIHN1YnN5c3Rl bSwgIiVzKCk6JXUgIiwgX19mdW5jX18gUlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAogICAgICB8 ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19w bGF0Zm9ybS5oOjMxMzozMzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9kYmfi gJkKICAzMTMgfCAjZGVmaW5lIHBsdF9jcHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9kYmcoY3B0LCBm bXQsICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYx MzoyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9jcHRfZGJn4oCZCiAgNjEz IHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNz IG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NjI2OjUyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9w c19idXJzdOKAmQogIDYyNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWNfdGJsW3Zp XS53MiAhPSBidXJzdC0+dzJbaV0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NjU0OjQwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY1NCB8ICAgICAgICAgICAgICAgICB2ZWNfdGJs W2xlbl0udzIgPSBidXJzdC0+dzJbaV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjY0OjEzOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCY Q05YS19UVF9GUk9NX1RBR+KAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlv bl0KICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRh dGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBl cnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01fVEFH4oCZ IFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo2NjQ6MzU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9N X1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjY0IHwgICAgICAgICBp ZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJF RCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRv ZGV2X29wcy5jOjY2NDo1NDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVw b3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjogaW1wbGlj aXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFst V2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDY2NSB8ICAgICAgICAgICAg ICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NToxNzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFy YXRpb24gb2Yg4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3RlZC1leHRl cm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjU6NDQ6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN0 4oCZCiAgNjY1IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+ d3MtPmJhc2UpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzQ6 MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1 cnN04oCZCiAgNjc0IHwgICAgICAgICBpZiAoaSAhPSBidXJzdC0+bmJfb3BzKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo2NzU6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc1IHwgICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29s X3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5i X29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51c2VkIHBh cmFtZXRlciDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgNTYyIHwg Y2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19y ZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5e fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0 IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NjgzOjMwOiBlcnJvcjog4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFy YW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlv biBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA2ODMgfCBjYV9sbXRzdF9idXJzdF9zdWJtaXQo c3RydWN0IG9wc19idXJzdCAqYnVyc3QpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xtdHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njk1OjE5OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY5NSB8ICAgICAg ICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGVidWcuaDoxOCwKICAgICAgICAg ICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYml0b3BzLmg6MjMsCiAgICAgICAg ICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX21lbW9yeS5oOjE4LAogICAgICAg ICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tYWxsb2MuaDoxNiwKICAgICAg ICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjIwLAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzEz OjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDcxMyB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxr KHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf YnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9l eHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjcxODozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBv cHNfYnVyc3TigJkKICA3MTggfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3Bz OyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcyMzo1MzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjMgfCAg ICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtp XSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwv aW5jbHVkZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlw dG9kZXYvY3J5cHRvZGV2X3BtZC5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1OjY5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcyNSB8ICAgICAgICAgICAg ICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0 LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbG9nL3J0ZV9sb2cuaDozNTk6 NDY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX0xPR19EUOKAmQogIDM1OSB8 ICAgICAgICAgICAgICAgICAgUlRFX0xPR1RZUEVfICMjIHQsICMgdCAiOiAiIF9fVkFfQVJHU19f KSA6ICAgICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDc1OjI2OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ3NSB8ICAgICAgICAgUlRFX0xPR19E UChsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwg XAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRl X2xvZy5oOjQ3NjozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJ TOKAmQogIDQ3NiB8ICAgICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwo X19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMzU6 OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfRFBfTElORV9QUkVGSVji gJkKICAzMzUgfCAgICAgICAgIFJURV9MT0dfRFBfTElORV9QUkVGSVgoREVCVUcsIENOWEssICIl cygpOiV1ICIsIF9fZnVuY19fIFJURV9MT0dfQ09NTUEgX19MSU5FX18sIFwKICAgICAgfCAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NzI1OjI1OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0 X2RwX2RiZ+KAmQogIDcyNSB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNv dWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo3MzY6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzM2IHwgICAgICAgICAgICAgICAgIGluc3QtPncy LnU2NCA9IGJ1cnN0LT53MltpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3 NTQ6MzU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3Bz X2J1cnN04oCZCiAgNzU0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3Mt Pmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NzU0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNzU0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9N X1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NTo0 NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVy c3TigJkKICA3NTUgfCAgICAgICAgICAgICAgICAgcm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0 LT53cy0+YmFzZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Rl YnVnLmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Jp dG9wcy5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9t ZW1vcnkuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf bWFsbG9jLmg6MTYsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0 b2Rldl9wbWQuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjc2MDozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NjAgfCAgICAgICAgIGlmICh1bmxpa2VseShp ICE9IGJ1cnN0LT5uYl9vcHMpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5l IHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NjE6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzYxIHwgICAgICAgICAg ICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxf cmVxc1tpXSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRv cCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzY3 OjE6IGVycm9yOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yIOKAmGNuMjBrX2NwdF9jcnlwdG9f YWRhcHRlcl9lbnF1ZXVl4oCZIFstV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10KICA3NjcgfCBj bjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZSh2b2lkICp3cywgc3RydWN0IHJ0ZV9ldmVu dCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMpCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZOgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiBh cnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVl c3TigJkKICA3NzAgfCAgICAgICAgIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50 c107CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiBzdG9yYWdl IHNpemUgb2Yg4oCYYnVyc3TigJkgaXNu4oCZdCBrbm93bgogIDc3MiB8ICAgICAgICAgc3RydWN0 IG9wc19idXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Nzk1Ojc3OiBlcnJv cjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDc5NSB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhX2xtdHN0X3ZlY19z dWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjgwMTo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29tcGxl dGUKICA4MDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY24yMGtf Y3B0X3ZlY19zdWJtaXQodmVjX3RibCwgdmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4 MjA6NzM6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAg ODIwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtaXR0ZWQgPSBjYV9sbXRz dF92ZWNfc3VibWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjgzMjo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlzIGluY29t cGxldGUKICA4MzIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCArPSBjYV9sbXRzdF92 ZWNfc3VibWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4Mzg6MzA6 IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgODM4IHwg ICAgICAgICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3Qu cXApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiB1bnVz ZWQgdmFyaWFibGUg4oCYYnVyc3TigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3MiB8 ICAgICAgICAgc3RydWN0IG9wc19idXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NzcwOjI4OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZlY190YmzigJkgWy1XZXJyb3I9 dW51c2VkLXZhcmlhYmxlXQogIDc3MCB8ICAgICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190 YmxbbmJfZXZlbnRzXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ CkF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6Mjg6MTogZXJyb3I6IOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTi gJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICAyOCB8 IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9k ZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwpbMjU0MC8zNTQ3XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2NyeXB0b19jbnhrX21h cCB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzI1NDEvMzU0N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9k ZXZfZGV2YXJncy5jLm8KWzI1NDIvMzU0N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZfY2FwYWJp bGl0aWVzLmMubwpbMjU0My8zNTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9zZWMuYy5vClsy NTQ0LzM1NDddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2Nh YW1fanIuYS5wL2NyeXB0b19jYWFtX2pyX2NhYW1fanIuYy5vClsyNTQ1LzM1NDddIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NjcC5hLnAvY3J5cHRvX2NjcF9j Y3BfY3J5cHRvLmMubwpbMjU0Ni8zNTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9vcHMuYy5v ClsyNTQ3LzM1NDddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NueGsuYS5wL2NyeXB0b19jbnhrX2NuOWtfY3J5cHRvZGV2X29wcy5jLm8KWzI1NDgvMzU0N10g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5 cHRvX2NueGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoK CipCdWlsZCBGYWlsZWQgIzM6Ck9TOiBSSEVMOTYtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWNsYW5nCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9j cnlwdG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRt cF9ydGVfY3J5cHRvX2NueGsuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2Ny eXB0by9jbnhrIC1JLi4vZHJpdmVycy9jcnlwdG8vY254ayAtSWxpYi9uZXQgLUkuLi9saWIvbmV0 IC1JZHJpdmVycy9ldmVudC9jbnhrIC1JLi4vZHJpdmVycy9ldmVudC9jbnhrIC1JbGliL2NyeXB0 b2RldiAtSS4uL2xpYi9jcnlwdG9kZXYgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29t bW9uIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4v bGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51 eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUg LUkuLi9rZXJuZWwvbGludXggLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUku Li9saWIva3ZhcmdzIC1JbGliL2xvZyAtSS4uL2xpYi9sb2cgLUlsaWIvbWV0cmljcyAtSS4uL2xp Yi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAt SS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1J Li4vbGliL3JpbmcgLUlsaWIvcmN1IC1JLi4vbGliL3JjdSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4u L2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUku Li9saWIvcGNpIC1JZHJpdmVycy9jb21tb24vY254ayAtSS4uL2RyaXZlcnMvY29tbW9uL2NueGsg LUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAt SWxpYi9zZWN1cml0eSAtSS4uL2xpYi9zZWN1cml0eSAtSWxpYi9ldmVudGRldiAtSS4uL2xpYi9l dmVudGRldiAtSWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvdGltZXIgLUkuLi9saWIvdGlt ZXIgLUlsaWIvZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5 cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vy cm9yIC1zdGQ9YzExIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVd2bGEgLVdjYXN0LXF1YWwg LVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJp dHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1l eHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21w YXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNz aW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUg LW1ydG0gLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby12bGEg LVVMQV9JUFNFQ19ERUJVRyAtVUNOWEtfQ1JZUFRPREVWX0RFQlVHIC1EUlRFX0xPR19ERUZBVUxU X0xPR1RZUEU9cG1kLmNyeXB0by5jbnhrIC1EUlRFX0FOTk9UQVRFX0xPQ0tTIC1XdGhyZWFkLXNh ZmV0eSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2Nu eGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9f Y254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8uZCAtbyBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9v cHMuYy5vIC1jIC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jCi4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjM0OToxOiBlcnJvcjog cmVkZWZpbml0aW9uIG9mICdjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0Jwog IDM0OSB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9j cnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoyODoxOiBub3RlOiBwcmV2aW91 cyBkZWZpbml0aW9uIGlzIGhlcmUKICAgMjggfCBjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZf bWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51c2VkLCB2b2lkICpz ZXNzLAogICAgICB8IF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NDcwOjMyOiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNp YmlsaXR5XQogIDQ3MCB8IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxsKHN0cnVjdCB2ZWNfcmVxdWVz dCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NDc0OjQ1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCB2ZWNfcmVxdWVzdCcKICA0NzQgfCAgICAgICAgIHN0cnVjdCBjcHRfaW5mbGlnaHRfcmVx ICppbmZsX3JlcSA9IHZlY19yZXEtPnJlcTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IHZlY19yZXF1ZXN0JwogIDQ3MCB8IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxsKHN0cnVj dCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NDg2OjI1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9u IG9mIHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0ODYgfCAgICAgICAgIGluZmxfcmVxLT52 ZWMgPSB2ZWNfcmVxLT52ZWM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDcwOjMyOiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNDcwIHwg Y24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNfcmVxLCBzdHJ1 Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0OTQ6MjQ6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHZlY19yZXF1ZXN0 JwogIDQ5NCB8ICAgICAgICAgaW5zdC0+dzIudTY0ID0gdmVjX3JlcS0+dzI7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCB2ZWNfcmVxdWVzdCcKICA0NzAgfCBjbjIwa19jcHRfdmVjX2luc3RfZmlsbChzdHJ1Y3Qg dmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0cnVjdCBjcHRfaW5zdF9zICppbnN0LAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjUxMDoyOTogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg dmVjX3JlcXVlc3QnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9u IFstV2Vycm9yLC1XdmlzaWJpbGl0eV0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1 Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNu eGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6NDg6IGVycm9yOiBh cnJheSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA1 MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1 aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEwOjI5OiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19z dWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4s IHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4 OiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVyc3QnIHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0eV0KICA1 NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3Qg dmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo1NjI6NTM6IGVycm9yOiBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19y ZXF1ZXN0JyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdl cnJvciwtV3Zpc2liaWxpdHldCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3Bz X2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZl Y190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjU2Mjo3MjogZXJyb3I6IGFycmF5IGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSAnc3Ry dWN0IHZlY19yZXF1ZXN0JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19i dXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNf dGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjUzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qg b3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3Qg KnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjU3NToxMjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3Qgb3BzX2J1cnN0JwogIDU3NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAg ICAgICAgICAgIH5+fn5+XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo1NjI6Mjg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVy c3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwg c3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NjAxOjc2OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9u IG9mIHR5cGUgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNjAxIHwgICAgICAgICBpZiAodW5saWtlbHko cnRlX21lbXBvb2xfZ2V0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZvaWQgKiopaW5mbF9yZXFzLCBi dXJzdC0+bmJfb3BzKSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgouLi9s aWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDE6IG5vdGU6IGV4cGFu ZGVkIGZyb20gbWFjcm8gJ3VubGlrZWx5JwogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAg IF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0 IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3Qg KmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9s ZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MDY6MjM6IGVycm9yOiBpbmNvbXBsZXRlIGRl ZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA2MDYgfCAgICAgICAgIGZvciAo aSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5+fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NTYyOjI4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3BzX2J1cnN0 JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0 cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjYxMTozOTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDYxMSB8ICAgICAgICAgICAgICAgICByZXQgPSBj bjIwa19jcHRfZmlsbF9pbnN0KHFwLCAmYnVyc3QtPm9wW2ldLCBpbnN0LCBpbmZsX3JlcSk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4OiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDU2MiB8IGNh X2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVx dWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjYxMzo0OTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3Qgb3BzX2J1cnN0JwogIDYxMyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9jcHRfZGJn KCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fl4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMTM6NTE6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3BsdF9jcHRfZGJnJwogIDMxMyB8ICNkZWZpbmUgcGx0 X2NwdF9kYmcoZm10LCAuLi4pICAgcGx0X2RiZyhjcHQsIGZtdCwgIyNfX1ZBX0FSR1NfXykKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMTA6Mzog bm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncGx0X2RiZycKICAzMTAgfCAgICAgICAgICAgICAg ICAgX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2xp Yi9sb2cvcnRlX2xvZy5oOjQ0NzozODogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRFX0xP R19MSU5FX1BSRUZJWCcKICA0NDcgfCAgICAgICAgICAgICBhcmdzIFJURV9MT0dfQ09NTUEgUlRF X0ZNVF9UQUlMKF9fVkFfQVJHU19fICwpKSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6ODk4OjMyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdSVEVfRk1UX1RB SUwnCiAgODk4IHwgI2RlZmluZSBSVEVfRk1UX1RBSUwoZm10LCAuLi4pIF9fVkFfQVJHU19fCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODk2OjM5OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3Jv ICdSVEVfRk1UJwogIDg5NiB8ICNkZWZpbmUgUlRFX0ZNVChmbXQsIC4uLikgZm10ICIlLjBzIiwg X19WQV9BUkdTX18gIiIKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMzNDozMjogbm90ZTogZXhwYW5k ZWQgZnJvbSBtYWNybyAnUlRFX0xPRycKICAzMzQgfCAgICAgICAgICAgICAgICAgIFJURV9MT0dU WVBFXyAjIyB0LCAjIHQgIjogIiBfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChz dHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjI2OjMxOiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNjI2 IHwgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlY190YmxbdmldLncyICE9IGJ1cnN0LT53 MltpXSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2 MjoyODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1 NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3Qg dmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo2NTQ6MjY6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlw ZSAnc3RydWN0IG9wc19idXJzdCcKICA2NTQgfCAgICAgICAgICAgICAgICAgdmVjX3RibFtsZW5d LncyID0gYnVyc3QtPncyW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5+fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NTYyOjI4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3BzX2J1cnN0Jwog IDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVj dCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjY2NDo2OiBlcnJvcjogY2FsbCB0byB1bmRlY2xhcmVkIGZ1bmN0aW9u ICdDTlhLX1RUX0ZST01fVEFHJzsgSVNPIEM5OSBhbmQgbGF0ZXIgZG8gbm90IHN1cHBvcnQgaW1w bGljaXQgZnVuY3Rpb24gZGVjbGFyYXRpb25zIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQogIDY2NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJPTV9UQUcoYnVyc3QtPndzLT5nd19y ZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6Mjg6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA2NjQgfCAgICAgICAg IGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRF UkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2Fy ZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNf c3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3Ri bFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5v dyBbLWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0ZWQuClsyNTA5LzM1MDZdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnJ0ZV9jcnlwdG9fY2NwLnNvLjI1LjIucC9tZXNvbi1n ZW5lcmF0ZWRfLi5fcnRlX2NyeXB0b19jY3AucG1kLmMubwpbMjUxMC8zNTA2XSBHZW5lcmF0aW5n IGRyaXZlcnMvcnRlX2NyeXB0b19jYWFtX2pyLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5k ICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbMjUxMS8zNTA2XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254 a19jbnhrX2NyeXB0b2Rldi5jLm8KWzI1MTIvMzUwNl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfdGxzLmMubwpb MjUxMy8zNTA2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19j bnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9jYXBhYmlsaXRpZXMuYy5vClsyNTE0 LzM1MDZdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsu YS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X2RldmFyZ3MuYy5vClsyNTE1LzM1MDZdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0 b19jbnhrX2NueGtfY3J5cHRvZGV2X29wcy5jLm8KWzI1MTYvMzUwNl0gQ29tcGlsaW5nIEMgb2Jq ZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY245a19j cnlwdG9kZXZfb3BzLmMubwpbMjUxNy8zNTA2XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjEwa19jcnlwdG9kZXZfb3Bz LmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjNDoKT1M6IFJIRUw5 Ni02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK3NoYXJlZApGQUlMRUQ6IGRy aXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRv ZGV2X29wcy5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAgLUlk cml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvY3J5cHRvL2NueGsgLUkuLi9kcml2ZXJzL2Ny eXB0by9jbnhrIC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUlkcml2ZXJzL2V2ZW50L2NueGsgLUku Li9kcml2ZXJzL2V2ZW50L2NueGsgLUlsaWIvY3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0b2RldiAt SWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2tlcm5lbC9saW51eCAtSWxpYi9l YWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbG9nIC1J Li4vbGliL2xvZyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5 IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9v bCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9yY3UgLUku Li9saWIvcmN1IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJp dmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLUlkcml2ZXJzL2NvbW1v bi9jbnhrIC1JLi4vZHJpdmVycy9jb21tb24vY254ayAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRo ZGV2IC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1JbGliL3NlY3VyaXR5IC1JLi4vbGliL3Nl Y3VyaXR5IC1JbGliL2V2ZW50ZGV2IC1JLi4vbGliL2V2ZW50ZGV2IC1JbGliL2hhc2ggLUkuLi9s aWIvaGFzaCAtSWxpYi90aW1lciAtSS4uL2xpYi90aW1lciAtSWxpYi9kbWFkZXYgLUkuLi9saWIv ZG1hZGV2IC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQg LVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLXN0ZD1jMTEgLU8zIC1pbmNsdWRl IHJ0ZV9jb25maWcuaCAtV3ZsYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdm b3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25z IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5p dGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAt V3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3Np bmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAt bXJ0bSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1m b3JtYXQtdHJ1bmNhdGlvbiAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXZsYSAt VUxBX0lQU0VDX0RFQlVHIC1VQ05YS19DUllQVE9ERVZfREVCVUcgLURSVEVfTE9HX0RFRkFVTFRf TE9HVFlQRT1wbWQuY3J5cHRvLmNueGsgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1NRiBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9v cHMuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254 a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzozNDk6MTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRvX2Fk YXB0ZXJfZXZfbWRhdGFfc2V04oCZCiAgMzQ5IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2 X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAq c2VzcywKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IG5vdGU6IHByZXZp b3VzIGRlZmluaXRpb24gb2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3Nl dOKAmSB3aXRoIHR5cGUg4oCYaW50KHN0cnVjdCBydGVfY3J5cHRvZGV2ICosIHZvaWQgKiwgZW51 bSBydGVfY3J5cHRvX29wX3R5cGUsICBlbnVtIHJ0ZV9jcnlwdG9fb3Bfc2Vzc190eXBlLCAgdm9p ZCAqKeKAmQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3Ry dWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3Jl cXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAg NDcwIHwgY24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNfcmVx LCBzdHJ1Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs4oCZOgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzQ6NTI6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0 NzQgfCAgICAgICAgIHN0cnVjdCBjcHRfaW5mbGlnaHRfcmVxICppbmZsX3JlcSA9IHZlY19yZXEt PnJlcTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0 ODY6MzI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVj X3JlcXVlc3TigJkKICA0ODYgfCAgICAgICAgIGluZmxfcmVxLT52ZWMgPSB2ZWNfcmVxLT52ZWM7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ5NDozMTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ5NCB8ICAgICAg ICAgaW5zdC0+dzIudTY0ID0gdmVjX3JlcS0+dzI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NTEwOjQxOiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5 cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQo c3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVj dCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NTEwOjI5OiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVkIGlu c2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBk ZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDUxMCB8IGNuMjBrX2NwdF92ZWNf c3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVu LCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IHVudXNlZCBw YXJhbWV0ZXIg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDUxMCB8 IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQx Nl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogYXJyYXkgdHlw ZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAg NTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjU2Mjo1MzogZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUg cGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5p dGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0 KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1 aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogZXJyb3I6IOKAmHN0cnVjdCBvcHNfYnVy c3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUg b3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNTYy IHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZl Y19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3RfdmVjX3N1Ym1pdOKA mToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTc1OjE5OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKA mQogIDU3NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGVidWcu aDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYml0b3Bz Lmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX21lbW9y eS5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tYWxs b2MuaDoxNiwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2 X3BtZC5oOjIwLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjAxOjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9t ZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3Qt Pm5iX29wcykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkg ICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjYwNjozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MDYgfCAgICAgICAgIGZvciAoaSA9IDA7IGkg PCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMTo1 MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVy c3TigJkKICA2MTEgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChx cCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAgICAgICBm cm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAgICAgICBm cm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjE4LAogICAgICAgICAgICAgICAg IGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEzOjcwOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYx MyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2Vz cyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9s b2cvcnRlX2xvZy5oOjMzNDo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVf TE9H4oCZCiAgMzM0IHwgICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6 ICIgX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDQ2OjIzOiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ0NiB8ICAgICAgICAgUlRF X0xPRyhsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxu IiwgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRl X2xvZy5oOjQ0NzozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJ TOKAmQogIDQ0NyB8ICAgICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwo X19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMDk6 OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfTElORV9QUkVGSVjigJkK ICAzMDkgfCAgICAgICAgIFJURV9MT0dfTElORV9QUkVGSVgoREVCVUcsIHN1YnN5c3RlbSwgIiVz KCk6JXUgIiwgX19mdW5jX18gUlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9y bS5oOjMxMzozMzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9kYmfigJkKICAz MTMgfCAjZGVmaW5lIHBsdF9jcHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9kYmcoY3B0LCBmbXQsICMj X19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMzoyNTog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9jcHRfZGJn4oCZCiAgNjEzIHwgICAg ICAgICAgICAgICAgICAgICAgICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAl cCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjI2OjUy OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJz dOKAmQogIDYyNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWNfdGJsW3ZpXS53MiAh PSBidXJzdC0+dzJbaV0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NjU0OjQwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IG9wc19idXJzdOKAmQogIDY1NCB8ICAgICAgICAgICAgICAgICB2ZWNfdGJsW2xlbl0u dzIgPSBidXJzdC0+dzJbaV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NjY0OjEzOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYQ05YS19U VF9GUk9NX1RBR+KAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2 NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09 IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjog bmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2Vy cm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo2NjQ6MzU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhi dXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NjY0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjY0IHwgICAgICAgICBpZiAoQ05Y S19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjY2NDo1NDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjogaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9y PWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDY2NSB8ICAgICAgICAgICAgICAgICBy b2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjY2NToxNzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24g b2Yg4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjU6NDQ6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAg NjY1IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+d3MtPmJh c2UpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzQ6MjM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ CiAgNjc0IHwgICAgICAgICBpZiAoaSAhPSBidXJzdC0+bmJfb3BzKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo2NzU6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3Qgb3BzX2J1cnN04oCZCiAgNjc1IHwgICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9i dWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29wcyAt IGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRl ciDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgNTYyIHwgY2FfbG10 c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0 IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+ fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBs ZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjgzOjMw OiBlcnJvcjog4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVy IGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA2ODMgfCBjYV9sbXRzdF9idXJzdF9zdWJtaXQoc3RydWN0 IG9wc19idXJzdCAqYnVyc3QpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IElu IGZ1bmN0aW9uIOKAmGNhX2xtdHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njk1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY5NSB8ICAgICAgICAgcXAg PSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGVidWcuaDoxOCwKICAgICAgICAgICAgICAg ICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYml0b3BzLmg6MjMsCiAgICAgICAgICAgICAg ICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX21lbW9yeS5oOjE4LAogICAgICAgICAgICAg ICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tYWxsb2MuaDoxNiwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjIwLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzEzOjgzOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKA mQogIDcxMyB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5j YS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNo X3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxp a2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3Qo ISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcxODoz MDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVy c3TigJkKICA3MTggfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKysp IHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcyMzo1MzogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjMgfCAgICAgICAg ICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtpXSwgaW5z dCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2VhbC9pbmNs dWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVk ZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYv Y3J5cHRvZGV2X3BtZC5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1OjY5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcyNSB8ICAgICAgICAgICAgICAgICAg ICAgICAgIHBsdF9kcF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtp XSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbG9nL3J0ZV9sb2cuaDozNTk6NDY6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX0xPR19EUOKAmQogIDM1OSB8ICAgICAg ICAgICAgICAgICAgUlRFX0xPR1RZUEVfICMjIHQsICMgdCAiOiAiIF9fVkFfQVJHU19fKSA6ICAg ICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDc1OjI2OiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ3NSB8ICAgICAgICAgUlRFX0xPR19EUChsLCB0 LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5o OjQ3NjozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQog IDQ3NiB8ICAgICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9B UkdTX18gLCkpKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMzU6OTogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfRFBfTElORV9QUkVGSVjigJkKICAz MzUgfCAgICAgICAgIFJURV9MT0dfRFBfTElORV9QUkVGSVgoREVCVUcsIENOWEssICIlcygpOiV1 ICIsIF9fZnVuY19fIFJURV9MT0dfQ09NTUEgX19MSU5FX18sIFwKICAgICAgfCAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NzI1OjI1OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0X2RwX2Ri Z+KAmQogIDcyNSB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNvdWxkIG5v dCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo3MzY6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzM2IHwgICAgICAgICAgICAgICAgIGluc3QtPncyLnU2NCA9 IGJ1cnN0LT53MltpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6MzU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN0 4oCZCiAgNzU0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3Jk YXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NzU0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgNzU0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhi dXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NTo0NDogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA3NTUgfCAgICAgICAgICAgICAgICAgcm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+ YmFzZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2RlYnVnLmg6 MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5o OjIzLAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tZW1vcnku aDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfbWFsbG9j Lmg6MTYsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9w bWQuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjU6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRv ZGV2X29wcy5jOjc2MDozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NjAgfCAgICAgICAgIGlmICh1bmxpa2VseShpICE9IGJ1 cnN0LT5uYl9vcHMpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5lIHVubGlr ZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NjE6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzYxIHwgICAgICAgICAgICAgICAg IHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tp XSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZl bDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzY3OjE6IGVy cm9yOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRl cl9lbnF1ZXVl4oCZIFstV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10KICA3NjcgfCBjbjIwa19j cHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZSh2b2lkICp3cywgc3RydWN0IHJ0ZV9ldmVudCBldltd LCB1aW50MTZfdCBuYl9ldmVudHMpCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1 bmN0aW9uIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZOgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiBhcnJheSB0 eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkK ICA3NzAgfCAgICAgICAgIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50c107CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiBzdG9yYWdlIHNpemUg b2Yg4oCYYnVyc3TigJkgaXNu4oCZdCBrbm93bgogIDc3MiB8ICAgICAgICAgc3RydWN0IG9wc19i dXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Nzk1Ojc3OiBlcnJvcjogdHlw ZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDc5NSB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhX2xtdHN0X3ZlY19zdWJtaXQo JmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgw MTo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29tcGxldGUKICA4 MDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY24yMGtfY3B0X3Zl Y19zdWJtaXQodmVjX3RibCwgdmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MjA6NzM6 IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAgODIwIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtaXR0ZWQgPSBjYV9sbXRzdF92ZWNf c3VibWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjgzMjo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlzIGluY29tcGxldGUK ICA4MzIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCArPSBjYV9sbXRzdF92ZWNfc3Vi bWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4Mzg6MzA6IGVycm9y OiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgODM4IHwgICAgICAg ICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3QucXApOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiB1bnVzZWQgdmFy aWFibGUg4oCYYnVyc3TigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3MiB8ICAgICAg ICAgc3RydWN0IG9wc19idXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Nzcw OjI4OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZlY190YmzigJkgWy1XZXJyb3I9dW51c2Vk LXZhcmlhYmxlXQogIDc3MCB8ICAgICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbbmJf ZXZlbnRzXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CkF0IHRv cCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Mjg6 MTogZXJyb3I6IOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgZGVm aW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICAyOCB8IGNuMjBr X2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRl diBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9y cwpbMjU1OC8zMzkxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0 b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldi5jLm8KWzI1NTkvMzM5MV0gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRv X2NueGtfY24yMGtfdGxzLmMubwpbMjU2MC8zMzkxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9j YXBhYmlsaXRpZXMuYy5vClsyNTYxLzMzOTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X2RldmFy Z3MuYy5vClsyNTYyLzMzOTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf Y3J5cHRvX2NhYW1fanIuYS5wL2NyeXB0b19jYWFtX2pyX2NhYW1fanIuYy5vClsyNTYzLzMzOTFd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NjcC5hLnAvY3J5 cHRvX2NjcF9jY3BfY3J5cHRvLmMubwpbMjU2NC8zMzkxXSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rl dl9vcHMuYy5vClsyNTY1LzMzOTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9y dGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuOWtfY3J5cHRvZGV2X29wcy5jLm8KWzI1 NjYvMzM5MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254 ay5hLnAvY3J5cHRvX2NueGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0 b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzU6Ck9TOiBSSEVMOTYtNjQKVGFyZ2V0OiB4ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYytkZWJ1ZwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlw dG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gCmdjYyAtSWRy aXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAt SWRyaXZlcnMvY3J5cHRvL2NueGsgLUkuLi9kcml2ZXJzL2NyeXB0by9jbnhrIC1JbGliL25ldCAt SS4uL2xpYi9uZXQgLUlkcml2ZXJzL2V2ZW50L2NueGsgLUkuLi9kcml2ZXJzL2V2ZW50L2NueGsg LUlsaWIvY3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0b2RldiAtSWxpYi9lYWwvY29tbW9uIC1JLi4v bGliL2VhbC9jb21tb24gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2lu Y2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9s aWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94 ODYvaW5jbHVkZSAtSS4uL2tlcm5lbC9saW51eCAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGli L2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbG9nIC1JLi4vbGliL2xvZyAtSWxpYi9tZXRy aWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAt SWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1J bGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9yY3UgLUkuLi9saWIvcmN1IC1JZHJpdmVycy9i dXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1J bGliL3BjaSAtSS4uL2xpYi9wY2kgLUlkcml2ZXJzL2NvbW1vbi9jbnhrIC1JLi4vZHJpdmVycy9j b21tb24vY254ayAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL21ldGVyIC1JLi4v bGliL21ldGVyIC1JbGliL3NlY3VyaXR5IC1JLi4vbGliL3NlY3VyaXR5IC1JbGliL2V2ZW50ZGV2 IC1JLi4vbGliL2V2ZW50ZGV2IC1JbGliL2hhc2ggLUkuLi9saWIvaGFzaCAtSWxpYi90aW1lciAt SS4uL2xpYi90aW1lciAtSWxpYi9kbWFkZXYgLUkuLi9saWIvZG1hZGV2IC1mZGlhZ25vc3RpY3Mt Y29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAt V2V4dHJhIC1XZXJyb3IgLXN0ZD1jMTEgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV3Zs YSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAt V2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5 cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJp dGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3Ry aW5ncyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6 ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbXJ0bSAtREFMTE9XX0VYUEVS SU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAt V25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXZsYSAtRExBX0lQU0VDX0RFQlVHIC1E Q05YS19DUllQVE9ERVZfREVCVUcgLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuY3J5cHRv LmNueGsgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19j bnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vLmQgLW8gZHJpdmVy cy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9kZXZf b3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYwou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzozNDk6MTogZXJyb3I6 IHJlZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0 4oCZCiAgMzQ5IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldChzdHJ1Y3Qg cnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAqc2VzcywKICAgICAgfCBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gb2Yg 4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmSB3aXRoIHR5cGUg4oCY aW50KHN0cnVjdCBydGVfY3J5cHRvZGV2ICosIHZvaWQgKiwgZW51bSBydGVfY3J5cHRvX29wX3R5 cGUsICBlbnVtIHJ0ZV9jcnlwdG9fb3Bfc2Vzc190eXBlLCAgdm9pZCAqKeKAmQogICAyOCB8IGNu MjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYg KmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo0NzA6MzI6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkgZGVjbGFyZWQg aW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlz IGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNDcwIHwgY24yMGtfY3B0X3Zl Y19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNfcmVxLCBzdHJ1Y3QgY3B0X2luc3Rf cyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0 aW9uIOKAmGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs4oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzQ6NTI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0NzQgfCAgICAgICAgIHN0cnVj dCBjcHRfaW5mbGlnaHRfcmVxICppbmZsX3JlcSA9IHZlY19yZXEtPnJlcTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0ODY6MzI6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0ODYg fCAgICAgICAgIGluZmxfcmVxLT52ZWMgPSB2ZWNfcmVxLT52ZWM7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjQ5NDozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ5NCB8ICAgICAgICAgaW5zdC0+dzIudTY0ID0g dmVjX3JlcS0+dzI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoK Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEwOjQxOiBlcnJv cjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19y ZXF1ZXN04oCZCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0 IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXAp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEwOjI5OiBlcnJv cjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlz dCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xh cmF0aW9uIFstV2Vycm9yXQogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNf cmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRf cXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g 4oCYY24yMGtfY3B0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIg4oCYdmVjX3Ri bOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3Vi bWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBz dHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBl bGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNTYyIHwgY2FfbG10c3RfdmVj X3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190 YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo1MzogZXJyb3I6IOKA mHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3Qg KmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9s ZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjU2MjoyODogZXJyb3I6IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkgZGVjbGFyZWQgaW5z aWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRl ZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1 Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190Ymxb XSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu YzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3RfdmVjX3N1Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTc1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDU3NSB8ICAgICAgICAg cXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGVidWcuaDoxOCwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYml0b3BzLmg6MjMsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX21lbW9yeS5oOjE4LAogICAgICAgICAg ICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tYWxsb2MuaDoxNiwKICAgICAgICAg ICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjIwLAogICAgICAg ICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjAxOjgz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJz dOKAmQogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFw LT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJh bmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1 bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBl Y3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYw NjozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNf YnVyc3TigJkKICA2MDYgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBp KyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMTo1MzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MTEgfCAgICAg ICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtpXSwg aW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2VhbC9p bmNsdWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5j bHVkZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9k ZXYvY3J5cHRvZGV2X3BtZC5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEzOjcwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYxMyB8ICAgICAgICAgICAgICAg ICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+ b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMzNDo0 Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTE9H4oCZCiAgMzM0IHwgICAg ICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDQ2OjIzOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ0NiB8ICAgICAgICAgUlRFX0xPRyhsLCB0LCBSVEVfRk1U KHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ0NzozMjogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQogIDQ0NyB8ICAgICAg ICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsg XAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMDk6OTogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfTElORV9QUkVGSVjigJkKICAzMDkgfCAgICAgICAgIFJU RV9MT0dfTElORV9QUkVGSVgoREVCVUcsIHN1YnN5c3RlbSwgIiVzKCk6JXUgIiwgX19mdW5jX18g UlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMxMzozMzogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9kYmfigJkKICAzMTMgfCAjZGVmaW5lIHBsdF9j cHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9kYmcoY3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMzoyNTogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmHBsdF9jcHRfZGJn4oCZCiAgNjEzIHwgICAgICAgICAgICAgICAgICAgICAg ICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjI2OjUyOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYyNiB8ICAgICAg ICAgICAgICAgICAgICAgICAgIGlmICh2ZWNfdGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0pCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjQwOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKA mQogIDY1NCB8ICAgICAgICAgICAgICAgICB2ZWNfdGJsW2xlbl0udzIgPSBidXJzdC0+dzJbaV07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBbLVdl cnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlmIChD TlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQog ICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNs YXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5z XQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MzU6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ CiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRh KSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0 OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJz dC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDo1NDogbm90ZTog ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogIDY2NSB8ICAgICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dh aXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2 NToxNzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcm9jX3Nzb19od3Nf aGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjU6NDQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY1IHwgICAgICAgICAgICAg ICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+d3MtPmJhc2UpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzQ6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc0IHwgICAgICAgICBp ZiAoaSAhPSBidXJzdC0+bmJfb3BzKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzU6ODE6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAg Njc1IHwgICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAs ICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFst V2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1 Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2 X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjgzOjMwOiBlcnJvcjog4oCYc3RydWN0 IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KICA2ODMgfCBjYV9sbXRzdF9idXJzdF9zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3Qp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xt dHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6Njk1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IG9wc19idXJzdOKAmQogIDY5NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfZGVidWcuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfYml0b3BzLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFs L2luY2x1ZGUvcnRlX21lbW9yeS5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9tYWxsb2MuaDoxNiwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9j cnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjIwLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzEzOjgzOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcxMyB8ICAgICAgICAg aWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICoq KWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0 NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8ICNk ZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcxODozMDogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MTggfCAgICAg ICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjcyMzo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjMgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24y MGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9kZXYuaDoyMCwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9kZXZfZHJpdmVyLmg6OSwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjE4 LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NzI1OjY5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IG9wc19idXJzdOKAmQogIDcyNSB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9kcF9kYmco IkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9saWIvbG9nL3J0ZV9sb2cuaDozNTk6NDY6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYUlRFX0xPR19EUOKAmQogIDM1OSB8ICAgICAgICAgICAgICAgICAgUlRFX0xP R1RZUEVfICMjIHQsICMgdCAiOiAiIF9fVkFfQVJHU19fKSA6ICAgICBcCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGli L2xvZy9ydGVfbG9nLmg6NDc1OjI2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRF X0ZNVOKAmQogIDQ3NSB8ICAgICAgICAgUlRFX0xPR19EUChsLCB0LCBSVEVfRk1UKHByZWZpeCBS VEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ3NjozMjogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQogIDQ3NiB8ICAgICAgICAgICAg IGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMzU6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmFJURV9MT0dfRFBfTElORV9QUkVGSVjigJkKICAzMzUgfCAgICAgICAgIFJURV9M T0dfRFBfTElORV9QUkVGSVgoREVCVUcsIENOWEssICIlcygpOiV1ICIsIF9fZnVuY19fIFJURV9M T0dfQ09NTUEgX19MSU5FX18sIFwKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1OjI1OiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0X2RwX2RiZ+KAmQogIDcyNSB8ICAgICAg ICAgICAgICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIs IGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MzY6Mzc6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ CiAgNzM2IHwgICAgICAgICAgICAgICAgIGluc3QtPncyLnU2NCA9IGJ1cnN0LT53MltpXTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6MzU6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzU0IHwgICAgICAg ICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JE RVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU0OjU0OiBlcnJvcjog4oCY U1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgNzU0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRh KSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NTo0NDogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NTUgfCAgICAgICAgICAg ICAgICAgcm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2RlYnVnLmg6MTgsCiAgICAgICAgICAgICAg ICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5oOjIzLAogICAgICAgICAgICAg ICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tZW1vcnkuaDoxOCwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfbWFsbG9jLmg6MTYsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQuaDoyMCwKICAgICAgICAg ICAgICAgICBmcm9tIC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjU6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc2MDozMjog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3Ti gJkKICA3NjAgfCAgICAgICAgIGlmICh1bmxpa2VseShpICE9IGJ1cnN0LT5uYl9vcHMpKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUv cnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYdW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0 aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo3NjE6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3Qgb3BzX2J1cnN04oCZCiAgNzYxIHwgICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9i dWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29wcyAt IGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzY3OjE6IGVycm9yOiBubyBwcmV2aW91cyBw cm90b3R5cGUgZm9yIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZIFstV2Vy cm9yPW1pc3NpbmctcHJvdG90eXBlc10KICA3NjcgfCBjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJf ZW5xdWV1ZSh2b2lkICp3cywgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVu dHMpCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2Nw dF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRl IGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA3NzAgfCAgICAgICAgIHN0 cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50c107CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYYnVyc3TigJkgaXNu 4oCZdCBrbm93bgogIDc3MiB8ICAgICAgICAgc3RydWN0IG9wc19idXJzdCBidXJzdDsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6Nzk1Ojc3OiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1l dGVyIDIgaXMgaW5jb21wbGV0ZQogIDc5NSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAm dmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgwMTo2MjogZXJyb3I6IHR5cGUg b2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29tcGxldGUKICA4MDEgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY24yMGtfY3B0X3ZlY19zdWJtaXQodmVjX3RibCwg dmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MjA6NzM6IGVycm9yOiB0eXBlIG9mIGZv cm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAgODIwIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdWJtaXR0ZWQgPSBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwgdmVj X3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgzMjo2MjogZXJyb3I6IHR5 cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlzIGluY29tcGxldGUKICA4MzIgfCAgICAgICAgICAg ICAgICAgICAgICAgICBjb3VudCArPSBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwgdmVjX3Ri bCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4Mzg6MzA6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBw YXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgODM4IHwgICAgICAgICBjbjIwa19jcHRfdmVjX3N1 Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3QucXApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYYnVyc3TigJkg Wy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3MiB8ICAgICAgICAgc3RydWN0IG9wc19idXJz dCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzcwOjI4OiBlcnJvcjogdW51c2Vk IHZhcmlhYmxlIOKAmHZlY190YmzigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3MCB8 ICAgICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbbmJfZXZlbnRzXTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CkF0IHRvcCBsZXZlbDoKLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Mjg6MTogZXJyb3I6IOKAmGNuMjBr X2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgZGVmaW5lZCBidXQgbm90IHVzZWQg Wy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRl cl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZv aWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpj YzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjUzOC8zNTQ3XSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjIwa190bHMuYy5vClsyNTM5LzM1NDddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2LmMu bwpbMjU0MC8zNTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0 b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9kZXZhcmdzLmMubwpbMjU0MS8z NTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEu cC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9jYXBhYmlsaXRpZXMuYy5vClsyNTQyLzM1NDdd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NhYW1fanIuYS5w L2NyeXB0b19jYWFtX2pyX2NhYW1fanIuYy5vClsyNTQzLzM1NDddIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NjcC5hLnAvY3J5cHRvX2NjcF9jY3BfY3J5cHRv LmMubwpbMjU0NC8zNTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2Ny eXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9vcHMuYy5vClsyNTQ1LzM1 NDddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5w L2NyeXB0b19jbnhrX2NuOWtfY3J5cHRvZGV2X29wcy5jLm8KWzI1NDYvMzU0N10gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtf Y24xMGtfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBG YWlsZWQgIzY6Ck9TOiBTVVNFMTUtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNs YW5nCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254 a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVfY3J5 cHRvX2NueGsuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2NyeXB0by9jbnhr IC1JLi4vZHJpdmVycy9jcnlwdG8vY254ayAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JZHJpdmVy cy9ldmVudC9jbnhrIC1JLi4vZHJpdmVycy9ldmVudC9jbnhrIC1JbGliL2NyeXB0b2RldiAtSS4u L2xpYi9jcnlwdG9kZXYgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JLiAt SS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9p bmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRl IC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9rZXJu ZWwvbGludXggLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3Zh cmdzIC1JbGliL2xvZyAtSS4uL2xpYi9sb2cgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNz IC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9t YnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3Jp bmcgLUlsaWIvcmN1IC1JLi4vbGliL3JjdSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMv YnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9saWIvcGNp IC1JZHJpdmVycy9jb21tb24vY254ayAtSS4uL2RyaXZlcnMvY29tbW9uL2NueGsgLUlsaWIvZXRo ZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtSWxpYi9zZWN1 cml0eSAtSS4uL2xpYi9zZWN1cml0eSAtSWxpYi9ldmVudGRldiAtSS4uL2xpYi9ldmVudGRldiAt SWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvdGltZXIgLUkuLi9saWIvdGltZXIgLUlsaWIv ZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmNvbG9yLWRpYWdub3N0aWNzIC1EX0ZJTEVfT0ZGU0VU X0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLXN0ZD1jMTEgLU8z IC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV3ZsYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdm b3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVj bGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5 bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJv dG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlh bGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbXJ0bSAtREFMTE9XX0VY UEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1hZGRyZXNzLW9mLXBhY2tl ZC1tZW1iZXIgLVduby12bGEgLVVMQV9JUFNFQ19ERUJVRyAtVUNOWEtfQ1JZUFRPREVWX0RFQlVH IC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmNyeXB0by5jbnhrIC1EUlRFX0FOTk9UQVRF X0xPQ0tTIC1XdGhyZWFkLXNhZmV0eSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9f Y254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gLU1GIGRyaXZlcnMv bGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29w cy5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhr X2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1jIC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjM0OToxOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdjbjIwa19jcHRfY3J5cHRvX2FkYXB0 ZXJfZXZfbWRhdGFfc2V0JwogIDM0OSB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0 YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3Ms CiAgICAgIHwgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoy ODoxOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIGlzIGhlcmUKICAgMjggfCBjbjIwa19jcHRf Y3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19y dGVfdW51c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NDcwOjMyOiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCB2ZWNfcmVxdWVzdCcgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rp b24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQogIDQ3MCB8IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs KHN0cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDc0OjQ1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZp bml0aW9uIG9mIHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0NzQgfCAgICAgICAgIHN0cnVj dCBjcHRfaW5mbGlnaHRfcmVxICppbmZsX3JlcSA9IHZlY19yZXEtPnJlcTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogbm90ZTogZm9yd2Fy ZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19yZXF1ZXN0JwogIDQ3MCB8IGNuMjBrX2NwdF92 ZWNfaW5zdF9maWxsKHN0cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0 X3MgKmluc3QsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDg2OjI1OiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0ODYgfCAg ICAgICAgIGluZmxfcmVxLT52ZWMgPSB2ZWNfcmVxLT52ZWM7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5+fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NDcwOjMyOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdmVj X3JlcXVlc3QnCiAgNDcwIHwgY24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1 ZXN0ICp2ZWNfcmVxLCBzdHJ1Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo0OTQ6MjQ6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAn c3RydWN0IHZlY19yZXF1ZXN0JwogIDQ5NCB8ICAgICAgICAgaW5zdC0+dzIudTY0ID0gdmVjX3Jl cS0+dzI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+XgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0NzAgfCBjbjIwa19jcHRfdmVj X2luc3RfZmlsbChzdHJ1Y3QgdmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0cnVjdCBjcHRfaW5zdF9z ICppbnN0LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDoyOTogZXJyb3I6IGRlY2xh cmF0aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0eV0KICA1MTAgfCBjbjIwa19j cHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNf dGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo1MTA6NDg6IGVycm9yOiBhcnJheSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUgJ3N0cnVj dCB2ZWNfcmVxdWVzdCcKICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3Jl cXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3Fw ICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEwOjI5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNTEw IHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NTYyOjI4OiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVy c3QnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9y LC1XdmlzaWJpbGl0eV0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVy c3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3Ri bF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NTM6IGVycm9yOiBkZWNsYXJhdGlv biBvZiAnc3RydWN0IHZlY19yZXF1ZXN0JyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2Yg dGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCiAgNTYyIHwgY2FfbG10c3RfdmVj X3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190 YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo3MjogZXJyb3I6IGFycmF5IGhhcyBpbmNvbXBsZXRl IGVsZW1lbnQgdHlwZSAnc3RydWN0IHZlY19yZXF1ZXN0JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19z dWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJs W10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjUzOiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNTYyIHwgY2FfbG10c3Rf dmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZl Y190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU3NToxMjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5p dGlvbiBvZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDU3NSB8ICAgICAgICAgcXAgPSBidXJz dC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgIH5+fn5+XgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qg b3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3Qg KnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjAxOjc2OiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNjAxIHwgICAg ICAgICBpZiAodW5saWtlbHkocnRlX21lbXBvb2xfZ2V0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZv aWQgKiopaW5mbF9yZXFzLCBidXJzdC0+bmJfb3BzKSkpIHsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+XgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6 NDM6NDE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3VubGlrZWx5JwogICA0MyB8ICNkZWZp bmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0 KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1 aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MDY6MjM6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA2 MDYgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9w c19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2 ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMTozOTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDYxMSB8ICAgICAg ICAgICAgICAgICByZXQgPSBjbjIwa19jcHRfZmlsbF9pbnN0KHFwLCAmYnVyc3QtPm9wW2ldLCBp bnN0LCBpbmZsX3JlcSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB+fn5+fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NTYyOjI4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3Bz X2J1cnN0JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVy c3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMzo0OTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5p dGlvbiBvZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDYxMyB8ICAgICAgICAgICAgICAgICAg ICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3Bb aV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fl4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxh dGZvcm0uaDozMTM6NTE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3BsdF9jcHRfZGJnJwog IDMxMyB8ICNkZWZpbmUgcGx0X2NwdF9kYmcoZm10LCAuLi4pICAgcGx0X2RiZyhjcHQsIGZtdCwg IyNfX1ZBX0FSR1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2Nf cGxhdGZvcm0uaDozMTA6Mzogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncGx0X2RiZycKICAz MTAgfCAgICAgICAgICAgICAgICAgX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ0NzozODogbm90ZTogZXhwYW5kZWQg ZnJvbSBtYWNybyAnUlRFX0xPR19MSU5FX1BSRUZJWCcKICA0NDcgfCAgICAgICAgICAgICBhcmdz IFJURV9MT0dfQ09NTUEgUlRFX0ZNVF9UQUlMKF9fVkFfQVJHU19fICwpKSk7IFwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODk4OjMyOiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICdSVEVfRk1UX1RBSUwnCiAgODk4IHwgI2RlZmluZSBSVEVfRk1UX1RBSUwoZm10LCAu Li4pIF9fVkFfQVJHU19fCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODk2OjM5OiBub3RlOiBl eHBhbmRlZCBmcm9tIG1hY3JvICdSVEVfRk1UJwogIDg5NiB8ICNkZWZpbmUgUlRFX0ZNVChmbXQs IC4uLikgZm10ICIlLjBzIiwgX19WQV9BUkdTX18gIiIKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMz NDozMjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRFX0xPRycKICAzMzQgfCAgICAgICAg ICAgICAgICAgIFJURV9MT0dUWVBFXyAjIyB0LCAjIHQgIjogIiBfX1ZBX0FSR1NfXykKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNTYyIHwgY2Ff bG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1 ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjI2OjMxOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVj dCBvcHNfYnVyc3QnCiAgNjI2IHwgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlY190Ymxb dmldLncyICE9IGJ1cnN0LT53MltpXSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3Ry dWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVy c3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3Ri bF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NTQ6MjY6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA2NTQgfCAgICAgICAgICAg ICAgICAgdmVjX3RibFtsZW5dLncyID0gYnVyc3QtPncyW2ldOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5+fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3Qgb3BzX2J1cnN0JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19i dXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNf dGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDo2OiBlcnJvcjogY2FsbCB0byB1 bmRlY2xhcmVkIGZ1bmN0aW9uICdDTlhLX1RUX0ZST01fVEFHJzsgSVNPIEM5OSBhbmQgbGF0ZXIg ZG8gbm90IHN1cHBvcnQgaW1wbGljaXQgZnVuY3Rpb24gZGVjbGFyYXRpb25zIFstV2ltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDY2NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJPTV9U QUcoYnVyc3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6 Mjg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJz dCcKICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRh dGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2 MjoyODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1 NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3Qg dmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3JzIGVt aXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0ZWQu ClsyNTk3LzM2MTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2LmMubwpbMjU5OC8zNjEyXSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjIwa19jcnlwdG9kZXZfc2VjLmMubwpbMjU5OS8zNjEyXSBDb21waWxpbmcgQyBvYmpl Y3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19p cHNlYy5jLm8KWzI2MDAvMzYxMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9jcnlwdG9fY2NwLmEucC9jcnlwdG9fY2NwX2NjcF9jcnlwdG8uYy5vClsyNjAxLzM2MTJdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0 b19jbnhrX2NuMjBrX3Rscy5jLm8KWzI2MDIvMzYxMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZf Y2FwYWJpbGl0aWVzLmMubwpbMjYwMy8zNjEyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2NyeXB0b19jYWFtX2pyLmEucC9jcnlwdG9fY2FhbV9qcl9jYWFtX2pyLmMubwpb MjYwNC8zNjEyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19j bnhrLmEucC9jcnlwdG9fY254a19jbjlrX2NyeXB0b2Rldl9vcHMuYy5vClsyNjA1LzM2MTJdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0 b19jbnhrX2NuMTBrX2NyeXB0b2Rldl9vcHMuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoq QnVpbGQgRmFpbGVkICM3OgpPUzogU1VTRTE1LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0 b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVf Y3J5cHRvX2NueGsuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2NyeXB0by9j bnhrIC1JLi4vZHJpdmVycy9jcnlwdG8vY254ayAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JZHJp dmVycy9ldmVudC9jbnhrIC1JLi4vZHJpdmVycy9ldmVudC9jbnhrIC1JbGliL2NyeXB0b2RldiAt SS4uL2xpYi9jcnlwdG9kZXYgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1J LiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2Vh bC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNs dWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9r ZXJuZWwvbGludXggLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIv a3ZhcmdzIC1JbGliL2xvZyAtSS4uL2xpYi9sb2cgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRy aWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xp Yi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGli L3JpbmcgLUlsaWIvcmN1IC1JLi4vbGliL3JjdSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZl cnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9saWIv cGNpIC1JZHJpdmVycy9jb21tb24vY254ayAtSS4uL2RyaXZlcnMvY29tbW9uL2NueGsgLUlsaWIv ZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtSWxpYi9z ZWN1cml0eSAtSS4uL2xpYi9zZWN1cml0eSAtSWxpYi9ldmVudGRldiAtSS4uL2xpYi9ldmVudGRl diAtSWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvdGltZXIgLUkuLi9saWIvdGltZXIgLUls aWIvZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9G SUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1z dGQ9YzExIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVd2bGEgLVdjYXN0LXF1YWwgLVdkZXBy ZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdt aXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5z IC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1X c3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZp ZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLW1ydG0g LURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby12bGEgLVVMQV9JUFNFQ19ERUJVRyAtVUNOWEtfQ1JZUFRPREVWX0RF QlVHIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmNyeXB0by5jbnhrIC1NRCAtTVEgZHJp dmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9k ZXZfb3BzLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlw dG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gLWMgLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmMKLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6MzQ5OjE6IGVycm9yOiByZWRlZmluaXRpb24gb2Yg 4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmQogY24yMGtfY3B0X2Ny eXB0b19hZGFwdGVyX2V2X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRl X3VudXNlZCwgdm9pZCAqc2VzcywKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Mjg6MTogbm90 ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZf bWRhdGFfc2V04oCZIHdhcyBoZXJlCiBjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFf c2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51c2VkLCB2b2lkICpzZXNzLAog Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3Jl cXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiBj bjIwa19jcHRfdmVjX2luc3RfZmlsbChzdHJ1Y3QgdmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0cnVj dCBjcHRfaW5zdF9zICppbnN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBm dW5jdGlvbiDigJhjbjIwa19jcHRfdmVjX2luc3RfZmlsbOKAmToKLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDc0OjQ1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICBzdHJ1 Y3QgY3B0X2luZmxpZ2h0X3JlcSAqaW5mbF9yZXEgPSB2ZWNfcmVxLT5yZXE7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IGFycmF5IHR5cGUgaGFz IGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogY24yMGtf Y3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVj X3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo1MTA6Mjk6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiBjbjIwa19jcHRfdmVj X3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xl biwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzog SW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IHVudXNlZCBwYXJhbWV0 ZXIg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogY24yMGtfY3B0X3Zl Y19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9s ZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo1NjI6NjU6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1l bnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKIGNhX2xtdHN0X3ZlY19zdWJtaXQoc3Ry dWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQx Nl90ICp2ZWNfdGJsX2xlbikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo1MzogZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVz dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBv dXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIGNhX2xt dHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVz dCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IGVycm9yOiDigJhzdHJ1Y3Qg b3BzX2J1cnN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9y XQogY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZl Y19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjYV9sbXRzdF92ZWNfc3VibWl04oCZOgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NzU6MTI6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBvcHNfYnVy c3TigJkKICBxcCA9IGJ1cnN0LT5xcDsKICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjY6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiDigJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2Vycm9yPWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+ Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICBefn5+fn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDo2OiBlcnJvcjogbmVz dGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2Vycm9y PW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo2NjQ6NDc6IGVycm9yOiDigJhTU09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhCWVRFX09SREVS4oCZPwog IGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRF UkVEKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QllURV9PUkRFUgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2 NjQ6NDc6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkg b25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZOyBkaWQgeW91IG1lYW4g 4oCYX19ydGVfcmluZ19odHNfaGVhZF93YWl04oCZPyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlv bi1kZWNsYXJhdGlvbl0KICAgcm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7 CiAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICBfX3J0ZV9yaW5nX2h0c19oZWFkX3dhaXQKLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjM6IGVycm9yOiBu ZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJvY19zc29faHdzX2hlYWRfd2FpdOKAmSBb LVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZ IFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBv cHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAq dmVjX3RibF9sZW4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo2ODM6MzA6IGVycm9yOiDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogY2FfbG10c3Rf YnVyc3Rfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xtdHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njk1OjEyOiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN0 4oCZCiAgcXAgPSBidXJzdC0+cXA7CiAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NDo0NzogZXJyb3I6IOKAmFNTT19UVF9PUkRFUkVE 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmEJZVEVfT1JERVLigJk/CiAgaWYgKENOWEtfVFRfRlJPTV9UQUcoYnVyc3QtPndzLT5nd19y ZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCWVRFX09SREVSCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjc2NzoxOiBlcnJvcjogbm8gcHJldmlvdXMgcHJvdG90eXBl IGZvciDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZeKAmSBbLVdlcnJvcj1taXNz aW5nLXByb3RvdHlwZXNdCiBjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZSh2b2lkICp3 cywgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMpCiBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2VucXVl dWXigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MDoy MTogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVj dCB2ZWNfcmVxdWVzdOKAmQogIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50c107 CiAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6NzcyOjE5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGJ1cnN0 4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0OwogICAgICAgICAgICAg ICAgICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 Nzk1OjM1OiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQog ICAgICAgY2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZlY190YmwsICZ2ZWNfdGJsX2xlbik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MDE6Mjc6IGVycm9yOiB0eXBlIG9mIGZv cm1hbCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgICAgIGNuMjBrX2NwdF92ZWNfc3VibWl0 KHZlY190YmwsIHZlY190YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 ODIwOjQ1OiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQog ICAgIHN1Ym1pdHRlZCA9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVj X3RibF9sZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgzMjo0 MTogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlzIGluY29tcGxldGUKICAgIGNv dW50ICs9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4p OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODM4OjIzOiBlcnJvcjogdHlw ZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDEgaXMgaW5jb21wbGV0ZQogIGNuMjBrX2NwdF92ZWNfc3Vi bWl0KHZlY190YmwsIHZlY190YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3 NzI6MTk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYYnVyc3TigJkgWy1XZXJyb3I9dW51c2Vk LXZhcmlhYmxlXQogIHN0cnVjdCBvcHNfYnVyc3QgYnVyc3Q7CiAgICAgICAgICAgICAgICAgICBe fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6MjE6 IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtdmFy aWFibGVdCiAgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbbmJfZXZlbnRzXTsKICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fgpBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IGVycm9yOiDigJhjbjIwa19jcHRfY3J5cHRvX2Fk YXB0ZXJfZXZfbWRhdGFfc2V04oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNl ZC1mdW5jdGlvbl0KIGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0 IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzClsyNjAwLzM2MTBdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX3Rscy5jLm8KWzI2MDEvMzYx MF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAv Y3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZfZGV2YXJncy5jLm8KWzI2MDIvMzYxMF0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2Nu eGtfY254a19jcnlwdG9kZXZfY2FwYWJpbGl0aWVzLmMubwpbMjYwMy8zNjEwXSBDb21waWxpbmcg QyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19j bnhrX2NyeXB0b2Rldl9zZWMuYy5vClsyNjA0LzM2MTBdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NhYW1fanIuYS5wL2NyeXB0b19jYWFtX2pyX2NhYW1fanIu Yy5vClsyNjA1LzM2MTBdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5 cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X29wcy5jLm8KWzI2MDYvMzYx MF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY2NwLmEucC9j cnlwdG9fY2NwX2NjcF9jcnlwdG8uYy5vClsyNjA3LzM2MTBdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuOWtfY3J5cHRv ZGV2X29wcy5jLm8KWzI2MDgvMzYxMF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8K bmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzg6Ck9TOiBBenVyZUxpbnV4 My4wLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9v cHMuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wIC1JZHJpdmVy cyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2NyeXB0by9jbnhrIC1JLi4vZHJpdmVycy9jcnlwdG8v Y254ayAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1JZHJpdmVycy9ldmVudC9jbnhrIC1JLi4vZHJp dmVycy9ldmVudC9jbnhrIC1JbGliL2NyeXB0b2RldiAtSS4uL2xpYi9jcnlwdG9kZXYgLUlsaWIv ZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29u ZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51 eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVk ZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9rZXJuZWwvbGludXggLUlsaWIvZWFsIC1J Li4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL2xvZyAtSS4uL2xp Yi9sb2cgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4u L2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUku Li9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvcmN1IC1JLi4vbGli L3JjdSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMv YnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9saWIvcGNpIC1JZHJpdmVycy9jb21tb24vY254 ayAtSS4uL2RyaXZlcnMvY29tbW9uL2NueGsgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAt SWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtSWxpYi9zZWN1cml0eSAtSS4uL2xpYi9zZWN1cml0 eSAtSWxpYi9ldmVudGRldiAtSS4uL2xpYi9ldmVudGRldiAtSWxpYi9oYXNoIC1JLi4vbGliL2hh c2ggLUlsaWIvdGltZXIgLUkuLi9saWIvdGltZXIgLUlsaWIvZG1hZGV2IC1JLi4vbGliL2RtYWRl diAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxs IC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1zdGQ9YzExIC1PMyAtaW5jbHVkZSBydGVf Y29uZmlnLmggLVd2bGEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0 LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21p c3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24g LVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRl ZiAtV3dyaXRlLXN0cmluZ3MgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZp ZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLW1ydG0g LURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0 LXRydW5jYXRpb24gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby12bGEgLVVMQV9J UFNFQ19ERUJVRyAtVUNOWEtfQ1JZUFRPREVWX0RFQlVHIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZ UEU9cG1kLmNyeXB0by5jbnhrIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhr LmEucC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtTUYgZHJpdmVycy9saWJ0 bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMu by5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24y MGtfY3J5cHRvZGV2X29wcy5jLm8gLWMgLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmMKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 MzQ5OjE6IGVycm9yOiByZWRlZmluaXRpb24gb2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVy X2V2X21kYXRhX3NldOKAmQogIDM0OSB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0 YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3Ms CiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoyODoxOiBub3RlOiBwcmV2aW91cyBk ZWZpbml0aW9uIG9mIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkg d2l0aCB0eXBlIOKAmGludChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqLCB2b2lkICosIGVudW0gcnRl X2NyeXB0b19vcF90eXBlLCAgZW51bSBydGVfY3J5cHRvX29wX3Nlc3NfdHlwZSwgIHZvaWQgKini gJkKICAgMjggfCBjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBy dGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NDcwOjMyOiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN0 4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91 dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDQ3MCB8 IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxsKHN0cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3Ry dWN0IGNwdF9pbnN0X3MgKmluc3QsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOiBJbiBmdW5jdGlvbiDigJhjbjIwa19jcHRfdmVjX2luc3RfZmlsbOKAmToKLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDc0OjUyOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNDc0IHwg ICAgICAgICBzdHJ1Y3QgY3B0X2luZmxpZ2h0X3JlcSAqaW5mbF9yZXEgPSB2ZWNfcmVxLT5yZXE7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDg2OjMy OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1 ZXN04oCZCiAgNDg2IHwgICAgICAgICBpbmZsX3JlcS0+dmVjID0gdmVjX3JlcS0+dmVjOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0OTQ6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0OTQgfCAgICAgICAgIGlu c3QtPncyLnU2NCA9IHZlY19yZXEtPncyOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjUxMDo0MTogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKA mHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVj dCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254 a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjUxMDoyOTogZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUg cGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5p dGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1p dChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3Ry dWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92ZWNfc3VibWl04oCZOgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6NDE6IGVycm9yOiB1bnVzZWQgcGFyYW1l dGVyIOKAmHZlY190YmzigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICA1MTAgfCBjbjIw a19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2 ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo2NTogZXJyb3I6IGFycmF5IHR5cGUgaGFz IGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDU2MiB8 IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNf cmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6 NTM6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFt ZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24g b3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1 Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2 X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IGVycm9yOiDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDU2MiB8IGNh X2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVx dWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xtdHN0X3ZlY19zdWJtaXTigJk6Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU3NToxOTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA1 NzUgfCAgICAgICAgIHFwID0gYnVyc3QtPnFwOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2RlYnVnLmg6MTgs CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5oOjIz LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tZW1vcnkuaDox OCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfbWFsbG9jLmg6 MTYsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQu aDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjU6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjYwMTo4MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBvcHNfYnVyc3TigJkKICA2MDEgfCAgICAgICAgIGlmICh1bmxpa2VseShydGVfbWVtcG9v bF9nZXRfYnVsayhxcC0+Y2EucmVxX21wLCAodm9pZCAqKilpbmZsX3JlcXMsIGJ1cnN0LT5uYl9v cHMpKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2lu Y2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBf X2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo2MDY6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjA2IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVy c3QtPm5iX29wczsgaSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTE6NTM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ CiAgNjExIHwgICAgICAgICAgICAgICAgIHJldCA9IGNuMjBrX2NwdF9maWxsX2luc3QocXAsICZi dXJzdC0+b3BbaV0sIGluc3QsIGluZmxfcmVxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGV2Lmg6MjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu Li9saWIvZWFsL2luY2x1ZGUvZGV2X2RyaXZlci5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAu Li9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQuaDoxODoKLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEzOjcwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYxMyB8ICAgICAgICAgICAgICAg ICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+ b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMzNDo0 Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTE9H4oCZCiAgMzM0IHwgICAg ICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDQ2OjIzOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ0NiB8ICAgICAgICAgUlRFX0xPRyhsLCB0LCBSVEVfRk1U KHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ0NzozMjogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQogIDQ0NyB8ICAgICAg ICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsg XAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMDk6OTogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfTElORV9QUkVGSVjigJkKICAzMDkgfCAgICAgICAgIFJU RV9MT0dfTElORV9QUkVGSVgoREVCVUcsIHN1YnN5c3RlbSwgIiVzKCk6JXUgIiwgX19mdW5jX18g UlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMxMzozMzogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9kYmfigJkKICAzMTMgfCAjZGVmaW5lIHBsdF9j cHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9kYmcoY3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMzoyNTogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmHBsdF9jcHRfZGJn4oCZCiAgNjEzIHwgICAgICAgICAgICAgICAgICAgICAg ICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjI2OjUyOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYyNiB8ICAgICAg ICAgICAgICAgICAgICAgICAgIGlmICh2ZWNfdGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0pCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjQwOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKA mQogIDY1NCB8ICAgICAgICAgICAgICAgICB2ZWNfdGJsW2xlbl0udzIgPSBidXJzdC0+dzJbaV07 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBbLVdl cnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlmIChD TlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQog ICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNs YXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5z XQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MzU6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ CiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRh KSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0 OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJz dC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDo1NDogbm90ZTog ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogIDY2NSB8ICAgICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dh aXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2 NToxNzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcm9jX3Nzb19od3Nf aGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjU6NDQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY1IHwgICAgICAgICAgICAg ICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+d3MtPmJhc2UpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzQ6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc0IHwgICAgICAgICBp ZiAoaSAhPSBidXJzdC0+bmJfb3BzKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzU6ODE6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAg Njc1IHwgICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAs ICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFst V2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1 Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2 X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjgzOjMwOiBlcnJvcjog4oCYc3RydWN0 IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KICA2ODMgfCBjYV9sbXRzdF9idXJzdF9zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3Qp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xt dHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6Njk1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IG9wc19idXJzdOKAmQogIDY5NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NzEzOjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcxMyB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9t ZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3Qt Pm5iX29wcykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkg ICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjcxODozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MTggfCAgICAgICAgIGZvciAoaSA9IDA7IGkg PCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcyMzo1 MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVy c3TigJkKICA3MjMgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChx cCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MjU6Njk6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzI1IHwgICAgICAgICAg ICAgICAgICAgICAgICAgcGx0X2RwX2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwgYnVy c3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjM1 OTo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTE9HX0RQ4oCZCiAgMzU5 IHwgICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdT X18pIDogICAgIFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fgouLi9saWIvbG9nL3J0ZV9sb2cuaDo0NzU6MjY6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfRk1U4oCZCiAgNDc1IHwgICAgICAgICBSVEVfTE9H X0RQKGwsIHQsIFJURV9GTVQocHJlZml4IFJURV9GTVRfSEVBRChfX1ZBX0FSR1NfXyAsKSAiXG4i LCBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vbGliL2xvZy9y dGVfbG9nLmg6NDc2OjMyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVF9U QUlM4oCZCiAgNDc2IHwgICAgICAgICAgICAgYXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJ TChfX1ZBX0FSR1NfXyAsKSkpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMz NTo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0xPR19EUF9MSU5FX1BSRUZJ WOKAmQogIDMzNSB8ICAgICAgICAgUlRFX0xPR19EUF9MSU5FX1BSRUZJWChERUJVRywgQ05YSywg IiVzKCk6JXUgIiwgX19mdW5jX18gUlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3MjU6MjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhw bHRfZHBfZGJn4oCZCiAgNzI1IHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2RwX2RiZygi Q291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjczNjozNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MzYgfCAgICAgICAgICAgICAgICAgaW5zdC0+ dzIudTY0ID0gYnVyc3QtPncyW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j Ojc1NDozNTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBv cHNfYnVyc3TigJkKICA3NTQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53 cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo3NTQ6NTQ6IGVycm9yOiDigJhTU09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICA3NTQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZS T01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU1 OjQ0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDc1NSB8ICAgICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVy c3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NzYwOjMyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9w c19idXJzdOKAmQogIDc2MCB8ICAgICAgICAgaWYgKHVubGlrZWx5KGkgIT0gYnVyc3QtPm5iX29w cykpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAg IF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjc2MTo4MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NjEgfCAgICAgICAgICAgICAgICAgcnRlX21lbXBv b2xfcHV0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZvaWQgKikmaW5mbF9yZXFzW2ldLCBidXJzdC0+ bmJfb3BzIC0gaSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3Njc6MTogZXJyb3I6IG5vIHBy ZXZpb3VzIHByb3RvdHlwZSBmb3Ig4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2VucXVldWXi gJkgWy1XZXJyb3I9bWlzc2luZy1wcm90b3R5cGVzXQogIDc2NyB8IGNuMjBrX2NwdF9jcnlwdG9f YWRhcHRlcl9lbnF1ZXVlKHZvaWQgKndzLCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90 IG5iX2V2ZW50cykKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCY Y24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2VucXVldWXigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MDoyODogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGlu Y29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDc3MCB8ICAg ICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbbmJfZXZlbnRzXTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjc3MjoyNjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhidXJz dOKAmSBpc27igJl0IGtub3duCiAgNzcyIHwgICAgICAgICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0 OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3OTU6Nzc6IGVycm9yOiB0eXBlIG9mIGZvcm1h bCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAgNzk1IHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZl Y190YmwsICZ2ZWNfdGJsX2xlbik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODAxOjYyOiBlcnJv cjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDEgaXMgaW5jb21wbGV0ZQogIDgwMSB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2 ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3QucXApOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgyMDo3MzogZXJyb3I6IHR5 cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlzIGluY29tcGxldGUKICA4MjAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN1Ym1pdHRlZCA9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1 cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODMyOjYyOiBl cnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDgzMiB8ICAg ICAgICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0 LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgzODozMDogZXJyb3I6IHR5cGUgb2Yg Zm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29tcGxldGUKICA4MzggfCAgICAgICAgIGNuMjBrX2Nw dF92ZWNfc3VibWl0KHZlY190YmwsIHZlY190YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MjoyNjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhi dXJzdOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgNzcyIHwgICAgICAgICBzdHJ1Y3Qg b3BzX2J1cnN0IGJ1cnN0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9y OiB1bnVzZWQgdmFyaWFibGUg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVd CiAgNzcwIHwgICAgICAgICBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtuYl9ldmVudHNdOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Mjg6MTogZXJyb3I6IOKAmGNuMjBrX2Nw dF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1X ZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9l dl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQg KnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6 IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjU5Ny8zNjEyXSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254 a19jbjIwa19jcnlwdG9kZXYuYy5vClsyNTk4LzM2MTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rl dl9zZWMuYy5vClsyNTk5LzM2MTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9y dGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX3Rscy5jLm8KWzI2MDAvMzYxMl0g Q29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5 cHRvX2NueGtfY254a19jcnlwdG9kZXYuYy5vClsyNjAxLzM2MTJdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5 cHRvZGV2X2NhcGFiaWxpdGllcy5jLm8KWzI2MDIvMzYxMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY2FhbV9qci5hLnAvY3J5cHRvX2NhYW1fanJfY2FhbV9q ci5jLm8KWzI2MDMvMzYxMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9j cnlwdG9fY2NwLmEucC9jcnlwdG9fY2NwX2NjcF9jcnlwdG8uYy5vClsyNjA0LzM2MTJdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19j bnhrX2NuOWtfY3J5cHRvZGV2X29wcy5jLm8KWzI2MDUvMzYxMl0gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24xMGtfY3J5 cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzk6 Ck9TOiBSSEVMMTAtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6 IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5 cHRvZGV2X29wcy5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAg LUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvY3J5cHRvL2NueGsgLUkuLi9kcml2ZXJz L2NyeXB0by9jbnhrIC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUlkcml2ZXJzL2V2ZW50L2NueGsg LUkuLi9kcml2ZXJzL2V2ZW50L2NueGsgLUlsaWIvY3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0b2Rl diAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUkuIC1JLi4gLUljb25maWcg LUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIv ZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4 Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2tlcm5lbC9saW51eCAtSWxp Yi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbG9n IC1JLi4vbGliL2xvZyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1l dHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVt cG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9yY3Ug LUkuLi9saWIvcmN1IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4v ZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLUlkcml2ZXJzL2Nv bW1vbi9jbnhrIC1JLi4vZHJpdmVycy9jb21tb24vY254ayAtSWxpYi9ldGhkZXYgLUkuLi9saWIv ZXRoZGV2IC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1JbGliL3NlY3VyaXR5IC1JLi4vbGli L3NlY3VyaXR5IC1JbGliL2V2ZW50ZGV2IC1JLi4vbGliL2V2ZW50ZGV2IC1JbGliL2hhc2ggLUku Li9saWIvaGFzaCAtSWxpYi90aW1lciAtSS4uL2xpYi90aW1lciAtSWxpYi9kbWFkZXYgLUkuLi9s aWIvZG1hZGV2IC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9 NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLXN0ZD1jMTEgLU8zIC1pbmNs dWRlIHJ0ZV9jb25maWcuaCAtV3ZsYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQg LVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRp b25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVm aW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBl cyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1p c3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2 ZSAtbXJ0bSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVdu by1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXZs YSAtVUxBX0lQU0VDX0RFQlVHIC1VQ05YS19DUllQVE9ERVZfREVCVUcgLURSVEVfTE9HX0RFRkFV TFRfTE9HVFlQRT1wbWQuY3J5cHRvLmNueGsgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5 cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1NRiBkcml2 ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rl dl9vcHMuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzozNDk6MTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRv X2FkYXB0ZXJfZXZfbWRhdGFfc2V04oCZCiAgMzQ5IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVy X2V2X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9p ZCAqc2VzcywKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IG5vdGU6IHBy ZXZpb3VzIGRlZmluaXRpb24gb2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRh X3NldOKAmSB3aXRoIHR5cGUg4oCYaW50KHN0cnVjdCBydGVfY3J5cHRvZGV2ICosIHZvaWQgKiwg ZW51bSBydGVfY3J5cHRvX29wX3R5cGUsICBlbnVtIHJ0ZV9jcnlwdG9fb3Bfc2Vzc190eXBlLCAg dm9pZCAqKeKAmQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQo c3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAg IHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6IGVycm9yOiDigJhzdHJ1Y3QgdmVj X3JlcXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3Jd CiAgNDcwIHwgY24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNf cmVxLCBzdHJ1Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs4oCZOgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzQ6NTI6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkK ICA0NzQgfCAgICAgICAgIHN0cnVjdCBjcHRfaW5mbGlnaHRfcmVxICppbmZsX3JlcSA9IHZlY19y ZXEtPnJlcTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo0ODY6MzI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg dmVjX3JlcXVlc3TigJkKICA0ODYgfCAgICAgICAgIGluZmxfcmVxLT52ZWMgPSB2ZWNfcmVxLT52 ZWM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ5NDozMTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ5NCB8ICAg ICAgICAgaW5zdC0+dzIudTY0ID0gdmVjX3JlcS0+dzI7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NTEwOjQxOiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50 IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJt aXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0 cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NTEwOjI5OiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDUxMCB8IGNuMjBrX2NwdF92 ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190Ymxf bGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IHVudXNl ZCBwYXJhbWV0ZXIg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDUx MCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVp bnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogYXJyYXkg dHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZ CiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3Ry dWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjU2Mjo1MzogZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVm aW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3Vi bWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtd LCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogZXJyb3I6IOKAmHN0cnVjdCBvcHNf YnVyc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAg NTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3RfdmVjX3N1Ym1p dOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTc1OjE5 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJz dOKAmQogIDU3NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGVi dWcuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYml0 b3BzLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX21l bW9yeS5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9t YWxsb2MuaDoxNiwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRv ZGV2X3BtZC5oOjIwLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NjAxOjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0 ZV9tZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVy c3QtPm5iX29wcykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xp Yi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHko eCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjYwNjozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MDYgfCAgICAgICAgIGZvciAoaSA9IDA7 IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYx MTo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNf YnVyc3TigJkKICA2MTEgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5z dChxcCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAgICAg ICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAgICAg ICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjE4OgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTM6NzA6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjEzIHwgICAgICAg ICAgICAgICAgICAgICAgICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIs IGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xvZy9ydGVfbG9n Lmg6MzM0OjQ2OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9MT0figJkKICAz MzQgfCAgICAgICAgICAgICAgICAgIFJURV9MT0dUWVBFXyAjIyB0LCAjIHQgIjogIiBfX1ZBX0FS R1NfXykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fgouLi9saWIvbG9nL3J0ZV9sb2cuaDo0NDY6MjM6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybyDigJhSVEVfRk1U4oCZCiAgNDQ2IHwgICAgICAgICBSVEVfTE9HKGwsIHQs IFJURV9GTVQocHJlZml4IFJURV9GTVRfSEVBRChfX1ZBX0FSR1NfXyAsKSAiXG4iLCBcCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDQ3 OjMyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVF9UQUlM4oCZCiAgNDQ3 IHwgICAgICAgICAgICAgYXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJTChfX1ZBX0FSR1Nf XyAsKSkpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMwOTo5OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0xPR19MSU5FX1BSRUZJWOKAmQogIDMwOSB8ICAg ICAgICAgUlRFX0xPR19MSU5FX1BSRUZJWChERUJVRywgc3Vic3lzdGVtLCAiJXMoKToldSAiLCBf X2Z1bmNfXyBSVEVfTE9HX0NPTU1BIF9fTElORV9fLCBcCiAgICAgIHwgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY29tbW9uL2NueGsvcm9jX3BsYXRmb3JtLmg6MzEzOjMz OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0X2RiZ+KAmQogIDMxMyB8ICNkZWZp bmUgcGx0X2NwdF9kYmcoZm10LCAuLi4pICAgcGx0X2RiZyhjcHQsIGZtdCwgIyNfX1ZBX0FSR1Nf XykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEzOjI1OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0X2NwdF9kYmfigJkKICA2MTMgfCAgICAgICAgICAgICAg ICAgICAgICAgICBwbHRfY3B0X2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwgYnVyc3Qt Pm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MjY6NTI6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjI2 IHwgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZlY190YmxbdmldLncyICE9IGJ1cnN0LT53 MltpXSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2 NTQ6NDA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3Bz X2J1cnN04oCZCiAgNjU0IHwgICAgICAgICAgICAgICAgIHZlY190YmxbbGVuXS53MiA9IGJ1cnN0 LT53MltpXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MTM6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhDTlhLX1RUX0ZST01fVEFH 4oCZIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDY2NCB8ICAgICAgICAgaWYg KENOWEtfVFRfRlJPTV9UQUcoYnVyc3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQp CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MTM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRl Y2xhcmF0aW9uIG9mIOKAmENOWEtfVFRfRlJPTV9UQUfigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVy bnNdCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDozNTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3Ti gJkKICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRh dGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2 NjQ6NTQ6IGVycm9yOiDigJhTU09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1 cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjU0OiBub3Rl OiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo2NjU6MTc6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiDigJhyb2Nfc3NvX2h3c19oZWFkX3dhaXTigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVj bGFyYXRpb25dCiAgNjY1IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChi dXJzdC0+d3MtPmJhc2UpOwogICAgICB8ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjE3 OiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhyb2Nfc3NvX2h3c19oZWFk X3dhaXTigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NTo0NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NjUgfCAgICAgICAgICAgICAgICAg cm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY3NDoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NzQgfCAgICAgICAgIGlmIChp ICE9IGJ1cnN0LT5uYl9vcHMpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY3NTo4MTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NzUg fCAgICAgICAgICAgICAgICAgcnRlX21lbXBvb2xfcHV0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZv aWQgKikmaW5mbF9yZXFzW2ldLCBidXJzdC0+bmJfb3BzIC0gaSk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo1NjI6NjU6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmHZlY190YmzigJkgWy1XZXJy b3I9dW51c2VkLXBhcmFtZXRlcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBv cHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAq dmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2ODM6MzA6IGVycm9yOiDigJhzdHJ1Y3Qgb3Bz X2J1cnN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNp YmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQog IDY4MyB8IGNhX2xtdHN0X2J1cnN0X3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3Rf YnVyc3Rfc3VibWl04oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo2OTU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3Qgb3BzX2J1cnN04oCZCiAgNjk1IHwgICAgICAgICBxcCA9IGJ1cnN0LT5xcDsKICAgICAgfCAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo3MTM6ODM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzEzIHwgICAgICAgICBpZiAodW5saWtlbHkocnRlX21lbXBv b2xfZ2V0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZvaWQgKiopaW5mbF9yZXFzLCBidXJzdC0+bmJf b3BzKSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9p bmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjQzOjQ1OiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAgIDQzIHwgI2RlZmluZSB1bmxpa2VseSh4KSAgICAg X19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NzE4OjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcxOCB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IGJ1 cnN0LT5uYl9vcHM7IGkrKykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzIzOjUzOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKA mQogIDcyMyB8ICAgICAgICAgICAgICAgICByZXQgPSBjbjIwa19jcHRfZmlsbF9pbnN0KHFwLCAm YnVyc3QtPm9wW2ldLCBpbnN0LCBpbmZsX3JlcSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcyNTo2OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjUgfCAgICAgICAgICAgICAg ICAgICAgICAgICBwbHRfZHBfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+ b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6MzU5OjQ2 OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfRFDigJkKICAzNTkgfCAg ICAgICAgICAgICAgICAgIFJURV9MT0dUWVBFXyAjIyB0LCAjIHQgIjogIiBfX1ZBX0FSR1NfXykg OiAgICAgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ3NToyNjogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVTigJkKICA0NzUgfCAgICAgICAgIFJURV9MT0dfRFAo bCwgdCwgUlRFX0ZNVChwcmVmaXggUlRFX0ZNVF9IRUFEKF9fVkFfQVJHU19fICwpICJcbiIsIFwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9saWIvbG9nL3J0ZV9s b2cuaDo0NzY6MzI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfRk1UX1RBSUzi gJkKICA0NzYgfCAgICAgICAgICAgICBhcmdzIFJURV9MT0dfQ09NTUEgUlRFX0ZNVF9UQUlMKF9f VkFfQVJHU19fICwpKSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY29tbW9uL2NueGsvcm9jX3BsYXRmb3JtLmg6MzM1Ojk6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfTE9HX0RQX0xJTkVfUFJFRklY4oCZ CiAgMzM1IHwgICAgICAgICBSVEVfTE9HX0RQX0xJTkVfUFJFRklYKERFQlVHLCBDTlhLLCAiJXMo KToldSAiLCBfX2Z1bmNfXyBSVEVfTE9HX0NPTU1BIF9fTElORV9fLCBcCiAgICAgIHwgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjcyNToyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9k cF9kYmfigJkKICA3MjUgfCAgICAgICAgICAgICAgICAgICAgICAgICBwbHRfZHBfZGJnKCJDb3Vs ZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NzM2OjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDczNiB8ICAgICAgICAgICAgICAgICBpbnN0LT53Mi51 NjQgPSBidXJzdC0+dzJbaV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU0 OjM1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDc1NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJPTV9UQUcoYnVyc3QtPndzLT5n d19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjc1NDo1NDogZXJyb3I6IOKAmFNTT19UVF9PUkRFUkVE4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDc1NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJPTV9U QUcoYnVyc3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTU6NDQ6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN0 4oCZCiAgNzU1IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+ d3MtPmJhc2UpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NjA6 MzI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1 cnN04oCZCiAgNzYwIHwgICAgICAgICBpZiAodW5saWtlbHkoaSAhPSBidXJzdC0+bmJfb3BzKSkK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNs dWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjQzOjQ1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvIOKAmHVubGlrZWx54oCZCiAgIDQzIHwgI2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19i dWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NzYxOjgxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IG9wc19idXJzdOKAmQogIDc2MSB8ICAgICAgICAgICAgICAgICBydGVfbWVtcG9vbF9w dXRfYnVsayhxcC0+Y2EucmVxX21wLCAodm9pZCAqKSZpbmZsX3JlcXNbaV0sIGJ1cnN0LT5uYl9v cHMgLSBpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc2NzoxOiBlcnJvcjogbm8gcHJldmlv dXMgcHJvdG90eXBlIGZvciDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZeKAmSBb LVdlcnJvcj1taXNzaW5nLXByb3RvdHlwZXNdCiAgNzY3IHwgY24yMGtfY3B0X2NyeXB0b19hZGFw dGVyX2VucXVldWUodm9pZCAqd3MsIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJf ZXZlbnRzKQogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjbjIw a19jcHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZeKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NzcwOjI4OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21w bGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNzcwIHwgICAgICAg ICBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtuYl9ldmVudHNdOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NzcyOjI2OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGJ1cnN04oCZ IGlzbuKAmXQga25vd24KICA3NzIgfCAgICAgICAgIHN0cnVjdCBvcHNfYnVyc3QgYnVyc3Q7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc5NTo3NzogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBh cmFtZXRlciAyIGlzIGluY29tcGxldGUKICA3OTUgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwgdmVjX3Ri bCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MDE6NjI6IGVycm9yOiB0 eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgODAxIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNuMjBrX2NwdF92ZWNfc3VibWl0KHZlY190 YmwsIHZlY190YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODIwOjczOiBlcnJvcjogdHlwZSBv ZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDgyMCB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3VibWl0dGVkID0gY2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3Qs IHZlY190YmwsICZ2ZWNfdGJsX2xlbik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MzI6NjI6IGVycm9y OiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAgODMyIHwgICAgICAg ICAgICAgICAgICAgICAgICAgY291bnQgKz0gY2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZl Y190YmwsICZ2ZWNfdGJsX2xlbik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODM4OjMwOiBlcnJvcjogdHlwZSBvZiBmb3Jt YWwgcGFyYW1ldGVyIDEgaXMgaW5jb21wbGV0ZQogIDgzOCB8ICAgICAgICAgY24yMGtfY3B0X3Zl Y19zdWJtaXQodmVjX3RibCwgdmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6NzcyOjI2OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmGJ1cnN0 4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICA3NzIgfCAgICAgICAgIHN0cnVjdCBvcHNf YnVyc3QgYnVyc3Q7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MDoyODogZXJyb3I6IHVu dXNlZCB2YXJpYWJsZSDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICA3 NzAgfCAgICAgICAgIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50c107CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoyODoxOiBlcnJvcjog4oCYY24yMGtfY3B0X2Ny eXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJv cj11bnVzZWQtZnVuY3Rpb25dCiAgIDI4IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21k YXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAqc2Vz cywKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNjMTogYWxs IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyNTM5LzM1NDddIENvbXBpbGluZyBD IG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2Nu eGtfY3J5cHRvZGV2X2RldmFyZ3MuYy5vClsyNTQwLzM1NDddIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX3Rscy5j Lm8KWzI1NDEvMzU0N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlw dG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZfY2FwYWJpbGl0aWVzLmMubwpb MjU0Mi8zNTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19j bnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9zZWMuYy5vClsyNTQzLzM1NDddIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NhYW1fanIuYS5wL2Ny eXB0b19jYWFtX2pyX2NhYW1fanIuYy5vClsyNTQ0LzM1NDddIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NjcC5hLnAvY3J5cHRvX2NjcF9jY3BfY3J5cHRvLmMu bwpbMjU0NS8zNTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0 b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9vcHMuYy5vClsyNTQ2LzM1NDdd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2Ny eXB0b19jbnhrX2NuOWtfY3J5cHRvZGV2X29wcy5jLm8KWzI1NDcvMzU0N10gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24x MGtfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWls ZWQgIzEwOgpPUzogVUIyNDA0LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mr MTZieXRlCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2Ny eXB0b19jbnhrLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9jcnlwdG8vY254 ayAtSS4uL2RyaXZlcnMvY3J5cHRvL2NueGsgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWRyaXZl cnMvZXZlbnQvY254ayAtSS4uL2RyaXZlcnMvZXZlbnQvY254ayAtSWxpYi9jcnlwdG9kZXYgLUku Li9saWIvY3J5cHRvZGV2IC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSS4g LUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwv aW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVk ZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4va2Vy bmVsL2xpbnV4IC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2 YXJncyAtSWxpYi9sb2cgLUkuLi9saWIvbG9nIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmlj cyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9saWIv bWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9y aW5nIC1JbGliL3JjdSAtSS4uL2xpYi9yY3UgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJz L2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvcGNpIC1JLi4vbGliL3Bj aSAtSWRyaXZlcnMvY29tbW9uL2NueGsgLUkuLi9kcml2ZXJzL2NvbW1vbi9jbnhrIC1JbGliL2V0 aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLUlsaWIvc2Vj dXJpdHkgLUkuLi9saWIvc2VjdXJpdHkgLUlsaWIvZXZlbnRkZXYgLUkuLi9saWIvZXZlbnRkZXYg LUlsaWIvaGFzaCAtSS4uL2xpYi9oYXNoIC1JbGliL3RpbWVyIC1JLi4vbGliL3RpbWVyIC1JbGli L2RtYWRldiAtSS4uL2xpYi9kbWFkZXYgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklM RV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtc3Rk PWMxMSAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XdmxhIC1XY2FzdC1xdWFsIC1XZGVwcmVj YXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlz c2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAt V29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0 cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tcGFja2VkLW5vdC1h bGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtRFJU RV9MSUJSVEVfSTQwRV8xNkJZVEVfUlhfREVTQyAtRFJURV9MSUJSVEVfSUNFXzE2QllURV9SWF9E RVNDIC1mUElDIC1tYXJjaD1uYXRpdmUgLW1ydG0gLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1E QUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1hZGRyZXNzLW9m LXBhY2tlZC1tZW1iZXIgLVduby12bGEgLVVMQV9JUFNFQ19ERUJVRyAtVUNOWEtfQ1JZUFRPREVW X0RFQlVHIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmNyeXB0by5jbnhrIC1NRCAtTVEg ZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19jcnlw dG9kZXZfb3BzLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlw dG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9j cnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gLWMgLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmMKLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6MzQ5OjE6IGVycm9yOiByZWRlZmluaXRpb24g b2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmQogIDM0OSB8IGNu MjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYg KmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzoyODoxOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIG9mIOKAmGNuMjBrX2NwdF9j cnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgd2l0aCB0eXBlIOKAmGludChzdHJ1Y3QgcnRl X2NyeXB0b2RldiAqLCB2b2lkICosIGVudW0gcnRlX2NyeXB0b19vcF90eXBlLCAgZW51bSBydGVf Y3J5cHRvX29wX3Nlc3NfdHlwZSwgIHZvaWQgKinigJkKICAgMjggfCBjbjIwa19jcHRfY3J5cHRv X2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51 c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDcwOjMy OiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0 ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9y IGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDQ3MCB8IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxsKHN0 cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjbjIwa19j cHRfdmVjX2luc3RfZmlsbOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NDc0OjUyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNDc0IHwgICAgICAgICBzdHJ1Y3QgY3B0X2luZmxpZ2h0 X3JlcSAqaW5mbF9yZXEgPSB2ZWNfcmVxLT5yZXE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDg2OjMyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNDg2IHwgICAgICAgICBpbmZs X3JlcS0+dmVjID0gdmVjX3JlcS0+dmVjOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0 OTQ6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVj X3JlcXVlc3TigJkKICA0OTQgfCAgICAgICAgIGluc3QtPncyLnU2NCA9IHZlY19yZXEtPncyOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IGFycmF5IHR5cGUg aGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDUx MCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVp bnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDoyOTogZXJyb3I6IOKAmHN0cnVjdCB2 ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3Ri bFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92 ZWNfc3VibWl04oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo1MTA6NDE6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmHZlY190YmzigJkgWy1XZXJyb3I9 dW51c2VkLXBhcmFtZXRlcl0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVj X3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0 X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjU2Mjo2NTogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKA mHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0 IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90 ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NTM6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3Jl cXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAg NTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6 IGVycm9yOiDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRl Y2xhcmF0aW9uIFstV2Vycm9yXQogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9w c19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2 ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9u IOKAmGNhX2xtdHN0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjU3NToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA1NzUgfCAgICAgICAgIHFwID0gYnVyc3QtPnFw OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9s aWIvZWFsL2luY2x1ZGUvcnRlX2RlYnVnLmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9s aWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gLi4v bGliL2VhbC9pbmNsdWRlL3J0ZV9tZW1vcnkuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfbWFsbG9jLmg6MTYsCiAgICAgICAgICAgICAgICAgZnJvbSAu Li9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9t IC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU6Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYwMTo4MzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MDEgfCAg ICAgICAgIGlmICh1bmxpa2VseShydGVfbWVtcG9vbF9nZXRfYnVsayhxcC0+Y2EucmVxX21wLCAo dm9pZCAqKilpbmZsX3JlcXMsIGJ1cnN0LT5uYl9vcHMpKSkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9u Lmg6NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAg NDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MDY6MzA6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjA2 IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVyc3QtPm5iX29wczsgaSsrKSB7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo2MTE6NTM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjExIHwgICAgICAgICAgICAgICAgIHJl dCA9IGNuMjBrX2NwdF9maWxsX2luc3QocXAsICZidXJzdC0+b3BbaV0sIGluc3QsIGluZmxfcmVx KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGV2 Lmg6MjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvZGV2X2RyaXZl ci5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9w bWQuaDoxODoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEz OjcwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDYxMyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3Vs ZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMzNDo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyDigJhSVEVfTE9H4oCZCiAgMzM0IHwgICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8g IyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6 NDQ2OjIzOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ0NiB8 ICAgICAgICAgUlRFX0xPRyhsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9B UkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4u L2xpYi9sb2cvcnRlX2xvZy5oOjQ0NzozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mFJURV9GTVRfVEFJTOKAmQogIDQ0NyB8ICAgICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBS VEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxh dGZvcm0uaDozMDk6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfTElO RV9QUkVGSVjigJkKICAzMDkgfCAgICAgICAgIFJURV9MT0dfTElORV9QUkVGSVgoREVCVUcsIHN1 YnN5c3RlbSwgIiVzKCk6JXUgIiwgX19mdW5jX18gUlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAog ICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhr L3JvY19wbGF0Zm9ybS5oOjMxMzozMzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBs dF9kYmfigJkKICAzMTMgfCAjZGVmaW5lIHBsdF9jcHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9kYmco Y3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjYxMzoyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9jcHRfZGJn4oCZ CiAgNjEzIHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBw cm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjI2OjUyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IG9wc19idXJzdOKAmQogIDYyNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWNf dGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjQwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY1NCB8ICAgICAgICAgICAgICAgICB2 ZWNfdGJsW2xlbl0udzIgPSBidXJzdC0+dzJbaV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+ Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0 OjEzOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01f VEFH4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MzU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19U VF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVS RUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjY0IHwgICAg ICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRf T1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjY2NDo1NDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl0 4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDY2NSB8ICAgICAg ICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAg fCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NToxNzogZXJyb3I6IG5lc3RlZCBleHRlcm4g ZGVjbGFyYXRpb24gb2Yg4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3Rl ZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2 NjU6NDQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3Bz X2J1cnN04oCZCiAgNjY1IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChi dXJzdC0+d3MtPmJhc2UpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo2NzQ6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg b3BzX2J1cnN04oCZCiAgNjc0IHwgICAgICAgICBpZiAoaSAhPSBidXJzdC0+bmJfb3BzKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo2NzU6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc1IHwgICAgICAgICAgICAgICAgIHJ0ZV9t ZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVy c3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51 c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAg NTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjgzOjMwOiBlcnJvcjog4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVm aW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA2ODMgfCBjYV9sbXRzdF9idXJzdF9z dWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QpCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xtdHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njk1OjE5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY5NSB8 ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzEzOjgzOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcx MyB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFf bXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRp Y3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKA mQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCks IDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcxODozMDogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA3MTggfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcyMzo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjMgfCAgICAgICAgICAgICAg ICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5m bF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo3MjU6Njk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg b3BzX2J1cnN04oCZCiAgNzI1IHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2RwX2RiZygi Q291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjM1OTo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhSVEVfTE9HX0RQ4oCZCiAgMzU5IHwgICAgICAgICAgICAgICAgICBSVEVfTE9H VFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pIDogICAgIFwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIv bG9nL3J0ZV9sb2cuaDo0NzU6MjY6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVf Rk1U4oCZCiAgNDc1IHwgICAgICAgICBSVEVfTE9HX0RQKGwsIHQsIFJURV9GTVQocHJlZml4IFJU RV9GTVRfSEVBRChfX1ZBX0FSR1NfXyAsKSAiXG4iLCBcCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDc2OjMyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVF9UQUlM4oCZCiAgNDc2IHwgICAgICAgICAgICAg YXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJTChfX1ZBX0FSR1NfXyAsKSkpOyBcCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMzNTo5OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0xPR19EUF9MSU5FX1BSRUZJWOKAmQogIDMzNSB8ICAgICAgICAgUlRFX0xP R19EUF9MSU5FX1BSRUZJWChERUJVRywgQ05YSywgIiVzKCk6JXUgIiwgX19mdW5jX18gUlRFX0xP R19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MjU6MjU6IG5v dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhwbHRfZHBfZGJn4oCZCiAgNzI1IHwgICAgICAg ICAgICAgICAgICAgICAgICAgcGx0X2RwX2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwg YnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjczNjozNzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA3MzYgfCAgICAgICAgICAgICAgICAgaW5zdC0+dzIudTY0ID0gYnVyc3QtPncyW2ldOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NDozNTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NTQgfCAgICAgICAg IGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRF UkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6NTQ6IGVycm9yOiDigJhT U09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICA3NTQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEp ID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU1OjQ0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDc1NSB8ICAgICAgICAgICAg ICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzYwOjMyOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDc2MCB8ICAgICAgICAg aWYgKHVubGlrZWx5KGkgIT0gYnVyc3QtPm5iX29wcykpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rp b24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQog ICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDAp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc2MTo4MTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3 NjEgfCAgICAgICAgICAgICAgICAgcnRlX21lbXBvb2xfcHV0X2J1bGsocXAtPmNhLnJlcV9tcCwg KHZvaWQgKikmaW5mbF9yZXFzW2ldLCBidXJzdC0+bmJfb3BzIC0gaSk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo3Njc6MTogZXJyb3I6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig4oCYY24y MGtfY3B0X2NyeXB0b19hZGFwdGVyX2VucXVldWXigJkgWy1XZXJyb3I9bWlzc2luZy1wcm90b3R5 cGVzXQogIDc2NyB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVlKHZvaWQgKndzLCBz dHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cykKICAgICAgfCBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2Vu cXVldWXigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3 MDoyODogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0 cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDc3MCB8ICAgICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZl Y190YmxbbmJfZXZlbnRzXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MjoyNjog ZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhidXJzdOKAmSBpc27igJl0IGtub3duCiAgNzcyIHwg ICAgICAgICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0OwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo3OTU6Nzc6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRl CiAgNzk1IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZlY190YmwsICZ2ZWNfdGJsX2xlbik7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6ODAxOjYyOiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVy IDEgaXMgaW5jb21wbGV0ZQogIDgwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3Qu cXApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjgyMDo3MzogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlz IGluY29tcGxldGUKICA4MjAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Ym1p dHRlZCA9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4p OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6ODMyOjYyOiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1l dGVyIDIgaXMgaW5jb21wbGV0ZQogIDgzMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50 ICs9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjgzODozMDogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29t cGxldGUKICA4MzggfCAgICAgICAgIGNuMjBrX2NwdF92ZWNfc3VibWl0KHZlY190YmwsIHZlY190 YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3Mjoy NjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhidXJzdOKAmSBbLVdlcnJvcj11bnVzZWQtdmFy aWFibGVdCiAgNzcyIHwgICAgICAgICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0OwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYdmVjX3Ri bOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgNzcwIHwgICAgICAgICBzdHJ1Y3QgdmVj X3JlcXVlc3QgdmVjX3RibFtuYl9ldmVudHNdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6Mjg6MTogZXJyb3I6IOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9z ZXTigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICAy OCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlw dG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVk IGFzIGVycm9ycwpbMjcyMC8zNzgxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa190bHMuYy5vClsyNzIxLzM3ODFd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NhYW1fanIuYS5w L2NyeXB0b19jYWFtX2pyX2NhYW1fanIuYy5vClsyNzIyLzM3ODFdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5 cHRvZGV2X2RldmFyZ3MuYy5vClsyNzIzLzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2LmMu bwpbMjcyNC8zNzgxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0 b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9jYXBhYmlsaXRpZXMuYy5vClsy NzI1LzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2Nj cC5hLnAvY3J5cHRvX2NjcF9jY3BfY3J5cHRvLmMubwpbMjcyNi8zNzgxXSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhr X2NyeXB0b2Rldl9vcHMuYy5vClsyNzI3LzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuOWtfY3J5cHRvZGV2X29w cy5jLm8KWzI3MjgvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9j cnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6 IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzExOgpPUzogVUIyNDA0LTY0ClRhcmdl dDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVf Y3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIApnY2Mg LUlkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZl cnMgLUlkcml2ZXJzL2NyeXB0by9jbnhrIC1JLi4vZHJpdmVycy9jcnlwdG8vY254ayAtSWxpYi9u ZXQgLUkuLi9saWIvbmV0IC1JZHJpdmVycy9ldmVudC9jbnhrIC1JLi4vZHJpdmVycy9ldmVudC9j bnhrIC1JbGliL2NyeXB0b2RldiAtSS4uL2xpYi9jcnlwdG9kZXYgLUlsaWIvZWFsL2NvbW1vbiAt SS4uL2xpYi9lYWwvY29tbW9uIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2Vh bC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1J Li4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9l YWwveDg2L2luY2x1ZGUgLUkuLi9rZXJuZWwvbGludXggLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAt SWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL2xvZyAtSS4uL2xpYi9sb2cgLUlsaWIv bWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0 cnkgLUlsaWIvbWJ1ZiAtSS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9v bCAtSWxpYi9yaW5nIC1JLi4vbGliL3JpbmcgLUlsaWIvcmN1IC1JLi4vbGliL3JjdSAtSWRyaXZl cnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51 eCAtSWxpYi9wY2kgLUkuLi9saWIvcGNpIC1JZHJpdmVycy9jb21tb24vY254ayAtSS4uL2RyaXZl cnMvY29tbW9uL2NueGsgLUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9tZXRlciAt SS4uL2xpYi9tZXRlciAtSWxpYi9zZWN1cml0eSAtSS4uL2xpYi9zZWN1cml0eSAtSWxpYi9ldmVu dGRldiAtSS4uL2xpYi9ldmVudGRldiAtSWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvdGlt ZXIgLUkuLi9saWIvdGltZXIgLUlsaWIvZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmRpYWdub3N0 aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1w Y2ggLVdleHRyYSAtV2Vycm9yIC1zdGQ9YzExIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVd2 bGEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwg LVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90 eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFy aXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0 cmluZ3MgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxp emVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLW1ydG0gLURBTExPV19FWFBF UklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby12bGEgLVVMQV9JUFNFQ19ERUJVRyAt VUNOWEtfQ1JZUFRPREVWX0RFQlVHIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmNyeXB0 by5jbnhrIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0 b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMuby5kIC1vIGRyaXZl cnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2 X29wcy5jLm8gLWMgLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmMK Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6MzQ5OjE6IGVycm9y OiByZWRlZmluaXRpb24gb2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3Nl dOKAmQogIDM0OSB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0 IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoyODoxOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIG9m IOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgd2l0aCB0eXBlIOKA mGludChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqLCB2b2lkICosIGVudW0gcnRlX2NyeXB0b19vcF90 eXBlLCAgZW51bSBydGVfY3J5cHRvX29wX3Nlc3NfdHlwZSwgIHZvaWQgKinigJkKICAgMjggfCBj bjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2 ICpkZXYgX19ydGVfdW51c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NDcwOjMyOiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDQ3MCB8IGNuMjBrX2NwdF92 ZWNfaW5zdF9maWxsKHN0cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0 X3MgKmluc3QsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5j dGlvbiDigJhjbjIwa19jcHRfdmVjX2luc3RfZmlsbOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDc0OjUyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNDc0IHwgICAgICAgICBzdHJ1 Y3QgY3B0X2luZmxpZ2h0X3JlcSAqaW5mbF9yZXEgPSB2ZWNfcmVxLT5yZXE7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDg2OjMyOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNDg2 IHwgICAgICAgICBpbmZsX3JlcS0+dmVjID0gdmVjX3JlcS0+dmVjOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo0OTQ6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0OTQgfCAgICAgICAgIGluc3QtPncyLnU2NCA9 IHZlY19yZXEtPncyOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6 Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJy b3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNf cmVxdWVzdOKAmQogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVz dCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFw KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDoyOTogZXJy b3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxp c3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNs YXJhdGlvbiBbLVdlcnJvcl0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVj X3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0 X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9u IOKAmGNuMjBrX2NwdF92ZWNfc3VibWl04oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo1MTA6NDE6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmHZlY190 YmzigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1 Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwg c3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjU2Mjo2NTogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUg ZWxlbWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDU2MiB8IGNhX2xtdHN0X3Zl Y19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNf dGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NTM6IGVycm9yOiDi gJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdp bGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRp b24gWy1XZXJyb3JdCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0 ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190Ymxf bGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo1NjI6Mjg6IGVycm9yOiDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZIGRlY2xhcmVkIGlu c2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBk ZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDU2MiB8IGNhX2xtdHN0X3ZlY19z dWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJs W10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xtdHN0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU3NToxOTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA1NzUgfCAgICAgICAg IHFwID0gYnVyc3QtPnFwOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2RlYnVnLmg6MTgsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5oOjIzLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tZW1vcnkuaDoxOCwKICAgICAgICAg ICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfbWFsbG9jLmg6MTYsCiAgICAgICAg ICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQuaDoyMCwKICAgICAg ICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjU6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYwMTo4 MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVy c3TigJkKICA2MDEgfCAgICAgICAgIGlmICh1bmxpa2VseShydGVfbWVtcG9vbF9nZXRfYnVsayhx cC0+Y2EucmVxX21wLCAodm9pZCAqKilpbmZsX3JlcXMsIGJ1cnN0LT5uYl9vcHMpKSkgewogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Jy YW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY dW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhw ZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2 MDY6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3Bz X2J1cnN04oCZCiAgNjA2IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVyc3QtPm5iX29wczsg aSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTE6NTM6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjExIHwgICAg ICAgICAgICAgICAgIHJldCA9IGNuMjBrX2NwdF9maWxsX2luc3QocXAsICZidXJzdC0+b3BbaV0s IGluc3QsIGluZmxfcmVxKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfZGV2Lmg6MjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2lu Y2x1ZGUvZGV2X2RyaXZlci5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRv ZGV2L2NyeXB0b2Rldl9wbWQuaDoxODoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjEzOjcwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYxMyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBs dF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMzNDo0Njogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTE9H4oCZCiAgMzM0IHwgICAgICAgICAgICAgICAg ICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGli L2xvZy9ydGVfbG9nLmg6NDQ2OjIzOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRF X0ZNVOKAmQogIDQ0NiB8ICAgICAgICAgUlRFX0xPRyhsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVf Rk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ0NzozMjogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQogIDQ0NyB8ICAgICAgICAgICAgIGFyZ3Mg UlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21t b24vY254ay9yb2NfcGxhdGZvcm0uaDozMDk6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmFJURV9MT0dfTElORV9QUkVGSVjigJkKICAzMDkgfCAgICAgICAgIFJURV9MT0dfTElORV9Q UkVGSVgoREVCVUcsIHN1YnN5c3RlbSwgIiVzKCk6JXUgIiwgX19mdW5jX18gUlRFX0xPR19DT01N QSBfX0xJTkVfXywgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMxMzozMzogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmHBsdF9kYmfigJkKICAzMTMgfCAjZGVmaW5lIHBsdF9jcHRfZGJnKGZtdCwg Li4uKSAgIHBsdF9kYmcoY3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjYxMzoyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mHBsdF9jcHRfZGJn4oCZCiAgNjEzIHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2NwdF9k YmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NjI2OjUyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYyNiB8ICAgICAgICAgICAgICAgICAg ICAgICAgIGlmICh2ZWNfdGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0pCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjQwOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY1NCB8ICAg ICAgICAgICAgICAgICB2ZWNfdGJsW2xlbl0udzIgPSBidXJzdC0+dzJbaV07CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24g4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBbLVdlcnJvcj1pbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01f VEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDi gJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MzU6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY0IHwgICAg ICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRf T1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjU0OiBlcnJvcjog 4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3Jk YXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDo1NDogbm90ZTogZWFjaCB1bmRlY2xh cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0 IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NjY1OjE3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcm9jX3Nz b19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9u XQogIDY2NSB8ICAgICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndz LT5iYXNlKTsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NToxNzogZXJyb3I6 IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZ IFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo2NjU6NDQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY1IHwgICAgICAgICAgICAgICAgIHJvY19zc29f aHdzX2hlYWRfd2FpdChidXJzdC0+d3MtPmJhc2UpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo2NzQ6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc0IHwgICAgICAgICBpZiAoaSAhPSBidXJz dC0+bmJfb3BzKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzU6ODE6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc1IHwgICAgICAg ICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmlu ZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYy OjY1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNl ZC1wYXJhbWV0ZXJdCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0 ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190Ymxf bGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NjgzOjMwOiBlcnJvcjog4oCYc3RydWN0IG9wc19idXJzdOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA2ODMgfCBj YV9sbXRzdF9idXJzdF9zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QpCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xtdHN0X2J1cnN0X3N1 Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njk1 OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDY5NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NzEzOjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9w c19idXJzdOKAmQogIDcxMyB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9i dWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRp bl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjcxODozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBvcHNfYnVyc3TigJkKICA3MTggfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJf b3BzOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcyMzo1MzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjMg fCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5v cFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3MjU6Njk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzI1IHwgICAgICAgICAgICAgICAgICAgICAg ICAgcGx0X2RwX2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjM1OTo0Njogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTE9HX0RQ4oCZCiAgMzU5IHwgICAgICAgICAg ICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pIDogICAgIFwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fgouLi9saWIvbG9nL3J0ZV9sb2cuaDo0NzU6MjY6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyDigJhSVEVfRk1U4oCZCiAgNDc1IHwgICAgICAgICBSVEVfTE9HX0RQKGwsIHQsIFJU RV9GTVQocHJlZml4IFJURV9GTVRfSEVBRChfX1ZBX0FSR1NfXyAsKSAiXG4iLCBcCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDc2 OjMyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVF9UQUlM4oCZCiAgNDc2 IHwgICAgICAgICAgICAgYXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJTChfX1ZBX0FSR1Nf XyAsKSkpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMzNTo5OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0xPR19EUF9MSU5FX1BSRUZJWOKAmQogIDMzNSB8 ICAgICAgICAgUlRFX0xPR19EUF9MSU5FX1BSRUZJWChERUJVRywgQ05YSywgIiVzKCk6JXUgIiwg X19mdW5jX18gUlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo3MjU6MjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhwbHRfZHBfZGJn4oCZ CiAgNzI1IHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2RwX2RiZygiQ291bGQgbm90IHBy b2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjczNjozNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCBvcHNfYnVyc3TigJkKICA3MzYgfCAgICAgICAgICAgICAgICAgaW5zdC0+dzIudTY0ID0gYnVy c3QtPncyW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NDozNTogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA3NTQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEp ID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6 NTQ6IGVycm9yOiDigJhTU09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICA3NTQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0 LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU1OjQ0OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDc1 NSB8ICAgICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNl KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzYwOjMyOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQog IDc2MCB8ICAgICAgICAgaWYgKHVubGlrZWx5KGkgIT0gYnVyc3QtPm5iX29wcykpCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf YnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9l eHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j Ojc2MTo4MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBv cHNfYnVyc3TigJkKICA3NjEgfCAgICAgICAgICAgICAgICAgcnRlX21lbXBvb2xfcHV0X2J1bGso cXAtPmNhLnJlcV9tcCwgKHZvaWQgKikmaW5mbF9yZXFzW2ldLCBidXJzdC0+bmJfb3BzIC0gaSk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3Njc6MTogZXJyb3I6IG5vIHByZXZpb3VzIHByb3Rv dHlwZSBmb3Ig4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2VucXVldWXigJkgWy1XZXJyb3I9 bWlzc2luZy1wcm90b3R5cGVzXQogIDc2NyB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1 ZXVlKHZvaWQgKndzLCBzdHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cykK ICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X2Ny eXB0b19hZGFwdGVyX2VucXVldWXigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjc3MDoyODogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxl bWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDc3MCB8ICAgICAgICAgc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbbmJfZXZlbnRzXTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjc3MjoyNjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhidXJzdOKAmSBpc27igJl0 IGtub3duCiAgNzcyIHwgICAgICAgICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0OwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3OTU6Nzc6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIg MiBpcyBpbmNvbXBsZXRlCiAgNzk1IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZlY190YmwsICZ2ZWNf dGJsX2xlbik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODAxOjYyOiBlcnJvcjogdHlwZSBvZiBm b3JtYWwgcGFyYW1ldGVyIDEgaXMgaW5jb21wbGV0ZQogIDgwMSB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNf dGJsX2xlbiwgYnVyc3QucXApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgyMDo3MzogZXJyb3I6IHR5cGUgb2YgZm9ybWFs IHBhcmFtZXRlciAyIGlzIGluY29tcGxldGUKICA4MjAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN1Ym1pdHRlZCA9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJs LCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODMyOjYyOiBlcnJvcjogdHlwZSBv ZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDgzMiB8ICAgICAgICAgICAgICAg ICAgICAgICAgIGNvdW50ICs9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAm dmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjgzODozMDogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFt ZXRlciAxIGlzIGluY29tcGxldGUKICA4MzggfCAgICAgICAgIGNuMjBrX2NwdF92ZWNfc3VibWl0 KHZlY190YmwsIHZlY190YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRv ZGV2X29wcy5jOjc3MjoyNjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhidXJzdOKAmSBbLVdl cnJvcj11bnVzZWQtdmFyaWFibGVdCiAgNzcyIHwgICAgICAgICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1 cnN0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiB1bnVzZWQgdmFy aWFibGUg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgNzcwIHwgICAg ICAgICBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtuYl9ldmVudHNdOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6Mjg6MTogZXJyb3I6IOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRh cHRlcl9ldl9tZGF0YV9zZXTigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2Vk LWZ1bmN0aW9uXQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQo c3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAg IHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5n cyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjcxOS8zNzgxXSBDb21waWxpbmcgQyBvYmplY3Qg ZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa190bHMu Yy5vClsyNzIwLzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5 cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X2RldmFyZ3MuYy5vClsyNzIx LzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsu YS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X2NhcGFiaWxpdGllcy5jLm8KWzI3MjIvMzc4 MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAv Y3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZfc2VjLmMubwpbMjcyMy8zNzgxXSBDb21waWxpbmcg QyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jYWFtX2pyLmEucC9jcnlwdG9fY2Fh bV9qcl9jYWFtX2pyLmMubwpbMjcyNC8zNzgxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2NyeXB0b19jY3AuYS5wL2NyeXB0b19jY3BfY2NwX2NyeXB0by5jLm8KWzI3MjUv Mzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5h LnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZfb3BzLmMubwpbMjcyNi8zNzgxXSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254 a19jbjlrX2NyeXB0b2Rldl9vcHMuYy5vClsyNzI3LzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMTBrX2NyeXB0 b2Rldl9vcHMuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICMxMjoK T1M6IFVCMjQwNC02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKRkFJTEVE OiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2Ny eXB0b2Rldl9vcHMuYy5vIApjbGFuZyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5h LnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvY3J5cHRvL2NueGsgLUkuLi9kcml2 ZXJzL2NyeXB0by9jbnhrIC1JbGliL25ldCAtSS4uL2xpYi9uZXQgLUlkcml2ZXJzL2V2ZW50L2Nu eGsgLUkuLi9kcml2ZXJzL2V2ZW50L2NueGsgLUlsaWIvY3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0 b2RldiAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUkuIC1JLi4gLUljb25m aWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUls aWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFs L3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2tlcm5lbC9saW51eCAt SWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIv bG9nIC1JLi4vbGliL2xvZyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVs ZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIv bWVtcG9vbCAtSS4uL2xpYi9tZW1wb29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9y Y3UgLUkuLi9saWIvcmN1IC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLUlkcml2ZXJz L2NvbW1vbi9jbnhrIC1JLi4vZHJpdmVycy9jb21tb24vY254ayAtSWxpYi9ldGhkZXYgLUkuLi9s aWIvZXRoZGV2IC1JbGliL21ldGVyIC1JLi4vbGliL21ldGVyIC1JbGliL3NlY3VyaXR5IC1JLi4v bGliL3NlY3VyaXR5IC1JbGliL2V2ZW50ZGV2IC1JLi4vbGliL2V2ZW50ZGV2IC1JbGliL2hhc2gg LUkuLi9saWIvaGFzaCAtSWxpYi90aW1lciAtSS4uL2xpYi90aW1lciAtSWxpYi9kbWFkZXYgLUku Li9saWIvZG1hZGV2IC1mY29sb3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAt V2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtc3RkPWMxMSAtTzMgLWluY2x1ZGUg cnRlX2NvbmZpZy5oIC1XdmxhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zv cm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0 aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1X dW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURf R05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1tcnRtIC1EQUxMT1dfRVhQRVJJTUVOVEFM X0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tYWRk cmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tdmxhIC1VTEFfSVBTRUNfREVCVUcgLVVDTlhLX0NS WVBUT0RFVl9ERUJVRyAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPXBtZC5jcnlwdG8uY254ayAt RFJURV9BTk5PVEFURV9MT0NLUyAtV3RocmVhZC1zYWZldHkgLU1EIC1NUSBkcml2ZXJzL2xpYnRt cF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5v IC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBr X2NyeXB0b2Rldl9vcHMuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEu cC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzozNDk6MTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnY24yMGtfY3B0 X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldCcKICAzNDkgfCBjbjIwa19jcHRfY3J5cHRvX2Fk YXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51c2Vk LCB2b2lkICpzZXNzLAogICAgICB8IF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6Mjg6MTogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBpcyBoZXJlCiAgIDI4 IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0 b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAqc2VzcywKICAgICAgfCBeCi4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogZXJyb3I6IGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0eV0KICA0NzAgfCBjbjIwa19jcHRf dmVjX2luc3RfZmlsbChzdHJ1Y3QgdmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0cnVjdCBjcHRfaW5z dF9zICppbnN0LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3NDo0NTogZXJyb3I6IGlu Y29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNDc0IHwg ICAgICAgICBzdHJ1Y3QgY3B0X2luZmxpZ2h0X3JlcSAqaW5mbF9yZXEgPSB2ZWNfcmVxLT5yZXE7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ fn5+XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6 IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0NzAg fCBjbjIwa19jcHRfdmVjX2luc3RfZmlsbChzdHJ1Y3QgdmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0 cnVjdCBjcHRfaW5zdF9zICppbnN0LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ4Njoy NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdmVjX3JlcXVl c3QnCiAgNDg2IHwgICAgICAgICBpbmZsX3JlcS0+dmVjID0gdmVjX3JlcS0+dmVjOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IHZlY19yZXF1ZXN0JwogIDQ3MCB8IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxsKHN0 cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDk0OjI0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0 aW9uIG9mIHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0OTQgfCAgICAgICAgIGluc3QtPncy LnU2NCA9IHZlY19yZXEtPncyOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDcwOjMyOiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNDcwIHwg Y24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNfcmVxLCBzdHJ1 Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6Mjk6 IGVycm9yOiBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19yZXF1ZXN0JyB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCiAg NTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwg dWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NTEwOjQ4OiBlcnJvcjogYXJyYXkgaGFzIGluY29tcGxldGUgZWxlbWVu dCB0eXBlICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQo c3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVj dCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjUxMDoyOTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19y ZXF1ZXN0JwogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2 ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3Qgb3BzX2J1cnN0JyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5j dGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChz dHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjUzOiBlcnJv cjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcgd2lsbCBub3QgYmUgdmlzaWJs ZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQogIDU2MiB8 IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNf cmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NzI6IGVycm9yOiBhcnJheSBo YXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA1NjIgfCBj YV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3Jl cXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo1 Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19yZXF1ZXN0JwogIDU2 MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2 ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NzU6MTI6IGVycm9yOiBpbmNv bXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA1NzUgfCAgICAg ICAgIHFwID0gYnVyc3QtPnFwOwogICAgICB8ICAgICAgICAgICAgICB+fn5+fl4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4OiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19z dWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJs W10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYwMTo3 NjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0 JwogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5j YS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fl4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9icmFuY2hf cHJlZGljdGlvbi5oOjQzOjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICd1bmxpa2VseScK ICAgNDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAw KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10 c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0 IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NjA2OjIzOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBv cHNfYnVyc3QnCiAgNjA2IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVyc3QtPm5iX29wczsg aSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3Vi bWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtd LCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTE6Mzk6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcK ICA2MTEgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1 cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBv cHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAq dmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTM6NDk6IGVycm9yOiBpbmNv bXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA2MTMgfCAgICAg ICAgICAgICAgICAgICAgICAgICBwbHRfY3B0X2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVw IiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMvY29tbW9u L2NueGsvcm9jX3BsYXRmb3JtLmg6MzEzOjUxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdw bHRfY3B0X2RiZycKICAzMTMgfCAjZGVmaW5lIHBsdF9jcHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9k YmcoY3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY29t bW9uL2NueGsvcm9jX3BsYXRmb3JtLmg6MzEwOjM6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8g J3BsdF9kYmcnCiAgMzEwIHwgICAgICAgICAgICAgICAgIF9fVkFfQVJHU19fKQogICAgICB8ICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIvbG9nL3J0ZV9sb2cuaDo0NDc6Mzg6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1JURV9MT0dfTElORV9QUkVGSVgnCiAgNDQ3IHwgICAg ICAgICAgICAgYXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJTChfX1ZBX0FSR1NfXyAsKSkp OyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjg5ODozMjogbm90ZTog ZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRFX0ZNVF9UQUlMJwogIDg5OCB8ICNkZWZpbmUgUlRFX0ZN VF9UQUlMKGZtdCwgLi4uKSBfX1ZBX0FSR1NfXwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjg5 NjozOTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRFX0ZNVCcKICA4OTYgfCAjZGVmaW5l IFJURV9GTVQoZm10LCAuLi4pIGZtdCAiJS4wcyIsIF9fVkFfQVJHU19fICIiCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIvbG9n L3J0ZV9sb2cuaDozMzQ6MzI6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1JURV9MT0cnCiAg MzM0IHwgICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9B UkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NTYyOjI4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3BzX2J1cnN0 JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0 cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjYyNjozMTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDYyNiB8ICAgICAgICAgICAgICAgICAgICAgICAg IGlmICh2ZWNfdGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0pCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChz dHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjI2OiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNjU0 IHwgICAgICAgICAgICAgICAgIHZlY190YmxbbGVuXS53MiA9IGJ1cnN0LT53MltpXTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0 KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1 aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6NjogZXJy b3I6IGNhbGwgdG8gdW5kZWNsYXJlZCBmdW5jdGlvbiAnQ05YS19UVF9GUk9NX1RBRyc7IElTTyBD OTkgYW5kIGxhdGVyIGRvIG5vdCBzdXBwb3J0IGltcGxpY2l0IGZ1bmN0aW9uIGRlY2xhcmF0aW9u cyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlmIChD TlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQog ICAgICB8ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NjY0OjI4OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCBvcHNfYnVyc3QnCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJz dC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBv cHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpi dXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVu KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBt YW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJv cnMgZ2VuZXJhdGVkLgpbMjcyMC8zNzgxXSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2NyeXB0b19j YWFtX2pyLnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbMjcyMS8zNzgxXSBDb21waWxpbmcg QyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jY3AuYS5wL2NyeXB0b19jY3BfY2Nw X2NyeXB0by5jLm8KWzI3MjIvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfdGxzLmMubwpbMjcyMy8zNzgx XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9j cnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9jYXBhYmlsaXRpZXMuYy5vClsyNzI0LzM3ODFdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0 b19jbnhrX2NueGtfY3J5cHRvZGV2LmMubwpbMjcyNS8zNzgxXSBDb21waWxpbmcgQyBvYmplY3Qg ZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0 b2Rldl9kZXZhcmdzLmMubwpbMjcyNi8zNzgxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9vcHMu Yy5vClsyNzI3LzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5 cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuOWtfY3J5cHRvZGV2X29wcy5jLm8KWzI3MjgvMzc4 MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAv Y3J5cHRvX2NueGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQK CgoKCipCdWlsZCBGYWlsZWQgIzEzOgpPUzogVUIyNDA0LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1kb2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5w L2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRt cF9ydGVfY3J5cHRvX2NueGsuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2Ny eXB0by9jbnhrIC1JLi4vZHJpdmVycy9jcnlwdG8vY254ayAtSWxpYi9uZXQgLUkuLi9saWIvbmV0 IC1JZHJpdmVycy9ldmVudC9jbnhrIC1JLi4vZHJpdmVycy9ldmVudC9jbnhrIC1JbGliL2NyeXB0 b2RldiAtSS4uL2xpYi9jcnlwdG9kZXYgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29t bW9uIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4v bGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51 eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUg LUkuLi9rZXJuZWwvbGludXggLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUku Li9saWIva3ZhcmdzIC1JbGliL2xvZyAtSS4uL2xpYi9sb2cgLUlsaWIvbWV0cmljcyAtSS4uL2xp Yi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAt SS4uL2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1J Li4vbGliL3JpbmcgLUlsaWIvcmN1IC1JLi4vbGliL3JjdSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4u L2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUku Li9saWIvcGNpIC1JZHJpdmVycy9jb21tb24vY254ayAtSS4uL2RyaXZlcnMvY29tbW9uL2NueGsg LUlsaWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAt SWxpYi9zZWN1cml0eSAtSS4uL2xpYi9zZWN1cml0eSAtSWxpYi9ldmVudGRldiAtSS4uL2xpYi9l dmVudGRldiAtSWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvdGltZXIgLUkuLi9saWIvdGlt ZXIgLUlsaWIvZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5 cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vy cm9yIC1zdGQ9YzExIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVd2bGEgLVdjYXN0LXF1YWwg LVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJp dHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1l eHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21w YXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1wYWNr ZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09V UkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLW1ydG0gLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1E QUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1hZGRyZXNzLW9m LXBhY2tlZC1tZW1iZXIgLVduby12bGEgLVVMQV9JUFNFQ19ERUJVRyAtVUNOWEtfQ1JZUFRPREVW X0RFQlVHIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9cG1kLmNyeXB0by5jbnhrIC1NRCAtTVEg ZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19jcnlw dG9kZXZfb3BzLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlw dG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9j cnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gLWMgLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmMKLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6MzQ5OjE6IGVycm9yOiByZWRlZmluaXRpb24g b2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmQogIDM0OSB8IGNu MjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYg KmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzoyODoxOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIG9mIOKAmGNuMjBrX2NwdF9j cnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgd2l0aCB0eXBlIOKAmGludChzdHJ1Y3QgcnRl X2NyeXB0b2RldiAqLCB2b2lkICosIGVudW0gcnRlX2NyeXB0b19vcF90eXBlLCAgZW51bSBydGVf Y3J5cHRvX29wX3Nlc3NfdHlwZSwgIHZvaWQgKinigJkKICAgMjggfCBjbjIwa19jcHRfY3J5cHRv X2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51 c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDcwOjMy OiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0 ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9y IGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDQ3MCB8IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxsKHN0 cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjbjIwa19j cHRfdmVjX2luc3RfZmlsbOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NDc0OjUyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNDc0IHwgICAgICAgICBzdHJ1Y3QgY3B0X2luZmxpZ2h0 X3JlcSAqaW5mbF9yZXEgPSB2ZWNfcmVxLT5yZXE7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDg2OjMyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNDg2IHwgICAgICAgICBpbmZs X3JlcS0+dmVjID0gdmVjX3JlcS0+dmVjOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0 OTQ6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVj X3JlcXVlc3TigJkKICA0OTQgfCAgICAgICAgIGluc3QtPncyLnU2NCA9IHZlY19yZXEtPncyOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IGFycmF5IHR5cGUg aGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDUx MCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVp bnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDoyOTogZXJyb3I6IOKAmHN0cnVjdCB2 ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUg dmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJv cl0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3Ri bFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92 ZWNfc3VibWl04oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo1MTA6NDE6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmHZlY190YmzigJkgWy1XZXJyb3I9 dW51c2VkLXBhcmFtZXRlcl0KICA1MTAgfCBjbjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVj X3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0 X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjU2Mjo2NTogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKA mHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0 IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90 ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NTM6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3Jl cXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAg NTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6 IGVycm9yOiDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRl Y2xhcmF0aW9uIFstV2Vycm9yXQogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9w c19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2 ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9u IOKAmGNhX2xtdHN0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjU3NToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA1NzUgfCAgICAgICAgIHFwID0gYnVyc3QtPnFw OwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9s aWIvZWFsL2luY2x1ZGUvcnRlX2RlYnVnLmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9s aWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gLi4v bGliL2VhbC9pbmNsdWRlL3J0ZV9tZW1vcnkuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfbWFsbG9jLmg6MTYsCiAgICAgICAgICAgICAgICAgZnJvbSAu Li9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9t IC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU6Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYwMTo4MzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MDEgfCAg ICAgICAgIGlmICh1bmxpa2VseShydGVfbWVtcG9vbF9nZXRfYnVsayhxcC0+Y2EucmVxX21wLCAo dm9pZCAqKilpbmZsX3JlcXMsIGJ1cnN0LT5uYl9vcHMpKSkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9u Lmg6NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAg NDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MDY6MzA6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjA2 IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVyc3QtPm5iX29wczsgaSsrKSB7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo2MTE6NTM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjExIHwgICAgICAgICAgICAgICAgIHJl dCA9IGNuMjBrX2NwdF9maWxsX2luc3QocXAsICZidXJzdC0+b3BbaV0sIGluc3QsIGluZmxfcmVx KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGV2 Lmg6MjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvZGV2X2RyaXZl ci5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9w bWQuaDoxODoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEz OjcwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDYxMyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3Vs ZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMzNDo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyDigJhSVEVfTE9H4oCZCiAgMzM0IHwgICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8g IyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6 NDQ2OjIzOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ0NiB8 ICAgICAgICAgUlRFX0xPRyhsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9B UkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4u L2xpYi9sb2cvcnRlX2xvZy5oOjQ0NzozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mFJURV9GTVRfVEFJTOKAmQogIDQ0NyB8ICAgICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBS VEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxh dGZvcm0uaDozMDk6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfTElO RV9QUkVGSVjigJkKICAzMDkgfCAgICAgICAgIFJURV9MT0dfTElORV9QUkVGSVgoREVCVUcsIHN1 YnN5c3RlbSwgIiVzKCk6JXUgIiwgX19mdW5jX18gUlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAog ICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhr L3JvY19wbGF0Zm9ybS5oOjMxMzozMzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBs dF9kYmfigJkKICAzMTMgfCAjZGVmaW5lIHBsdF9jcHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9kYmco Y3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjYxMzoyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9jcHRfZGJn4oCZ CiAgNjEzIHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBw cm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjI2OjUyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IG9wc19idXJzdOKAmQogIDYyNiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWNf dGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjQwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY1NCB8ICAgICAgICAgICAgICAgICB2 ZWNfdGJsW2xlbl0udzIgPSBidXJzdC0+dzJbaV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+ Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0 OjEzOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01f VEFH4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MzU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19U VF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVS RUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjY0IHwgICAg ICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRf T1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjY2NDo1NDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl0 4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDY2NSB8ICAgICAg ICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAg fCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NToxNzogZXJyb3I6IG5lc3RlZCBleHRlcm4g ZGVjbGFyYXRpb24gb2Yg4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3Rl ZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2 NjU6NDQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3Bz X2J1cnN04oCZCiAgNjY1IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChi dXJzdC0+d3MtPmJhc2UpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo2NzQ6MjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg b3BzX2J1cnN04oCZCiAgNjc0IHwgICAgICAgICBpZiAoaSAhPSBidXJzdC0+bmJfb3BzKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo2NzU6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc1IHwgICAgICAgICAgICAgICAgIHJ0ZV9t ZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVy c3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51 c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAg NTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+ fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjgzOjMwOiBlcnJvcjog4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVm aW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA2ODMgfCBjYV9sbXRzdF9idXJzdF9z dWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QpCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNhX2xtdHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njk1OjE5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY5NSB8 ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzEzOjgzOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcx MyB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFf bXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRp Y3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKA mQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCks IDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcxODozMDogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA3MTggfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcyMzo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjMgfCAgICAgICAgICAgICAg ICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5m bF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo3MjU6Njk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg b3BzX2J1cnN04oCZCiAgNzI1IHwgICAgICAgICAgICAgICAgICAgICAgICAgcGx0X2RwX2RiZygi Q291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjM1OTo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhSVEVfTE9HX0RQ4oCZCiAgMzU5IHwgICAgICAgICAgICAgICAgICBSVEVfTE9H VFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18pIDogICAgIFwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIv bG9nL3J0ZV9sb2cuaDo0NzU6MjY6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVf Rk1U4oCZCiAgNDc1IHwgICAgICAgICBSVEVfTE9HX0RQKGwsIHQsIFJURV9GTVQocHJlZml4IFJU RV9GTVRfSEVBRChfX1ZBX0FSR1NfXyAsKSAiXG4iLCBcCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDc2OjMyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVF9UQUlM4oCZCiAgNDc2IHwgICAgICAgICAgICAg YXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJTChfX1ZBX0FSR1NfXyAsKSkpOyBcCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMzNTo5OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0xPR19EUF9MSU5FX1BSRUZJWOKAmQogIDMzNSB8ICAgICAgICAgUlRFX0xP R19EUF9MSU5FX1BSRUZJWChERUJVRywgQ05YSywgIiVzKCk6JXUgIiwgX19mdW5jX18gUlRFX0xP R19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MjU6MjU6IG5v dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhwbHRfZHBfZGJn4oCZCiAgNzI1IHwgICAgICAg ICAgICAgICAgICAgICAgICAgcGx0X2RwX2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwg YnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjczNjozNzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA3MzYgfCAgICAgICAgICAgICAgICAgaW5zdC0+dzIudTY0ID0gYnVyc3QtPncyW2ldOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NDozNTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NTQgfCAgICAgICAg IGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRF UkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6NTQ6IGVycm9yOiDigJhT U09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICA3NTQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEp ID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU1OjQ0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDc1NSB8ICAgICAgICAgICAg ICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzYwOjMyOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDc2MCB8ICAgICAgICAg aWYgKHVubGlrZWx5KGkgIT0gYnVyc3QtPm5iX29wcykpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rp b24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQog ICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDAp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc2MTo4MTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3 NjEgfCAgICAgICAgICAgICAgICAgcnRlX21lbXBvb2xfcHV0X2J1bGsocXAtPmNhLnJlcV9tcCwg KHZvaWQgKikmaW5mbF9yZXFzW2ldLCBidXJzdC0+bmJfb3BzIC0gaSk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo3Njc6MTogZXJyb3I6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig4oCYY24y MGtfY3B0X2NyeXB0b19hZGFwdGVyX2VucXVldWXigJkgWy1XZXJyb3I9bWlzc2luZy1wcm90b3R5 cGVzXQogIDc2NyB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVlKHZvaWQgKndzLCBz dHJ1Y3QgcnRlX2V2ZW50IGV2W10sIHVpbnQxNl90IG5iX2V2ZW50cykKICAgICAgfCBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2Vu cXVldWXigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3 MDoyODogZXJyb3I6IGFycmF5IHR5cGUgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0 cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDc3MCB8ICAgICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZl Y190YmxbbmJfZXZlbnRzXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MjoyNjog ZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhidXJzdOKAmSBpc27igJl0IGtub3duCiAgNzcyIHwg ICAgICAgICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0OwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo3OTU6Nzc6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRl CiAgNzk1IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZlY190YmwsICZ2ZWNfdGJsX2xlbik7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6ODAxOjYyOiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVy IDEgaXMgaW5jb21wbGV0ZQogIDgwMSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3Qu cXApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjgyMDo3MzogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlz IGluY29tcGxldGUKICA4MjAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Ym1p dHRlZCA9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4p OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6ODMyOjYyOiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1l dGVyIDIgaXMgaW5jb21wbGV0ZQogIDgzMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50 ICs9IGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjgzODozMDogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29t cGxldGUKICA4MzggfCAgICAgICAgIGNuMjBrX2NwdF92ZWNfc3VibWl0KHZlY190YmwsIHZlY190 YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3Mjoy NjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhidXJzdOKAmSBbLVdlcnJvcj11bnVzZWQtdmFy aWFibGVdCiAgNzcyIHwgICAgICAgICBzdHJ1Y3Qgb3BzX2J1cnN0IGJ1cnN0OwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYdmVjX3Ri bOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgNzcwIHwgICAgICAgICBzdHJ1Y3QgdmVj X3JlcXVlc3QgdmVjX3RibFtuYl9ldmVudHNdOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6Mjg6MTogZXJyb3I6IOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9z ZXTigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICAy OCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlw dG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVk IGFzIGVycm9ycwpbMjcxOC8zNjA0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldi5jLm8KWzI3MTkv MzYwNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5h LnAvY3J5cHRvX2NueGtfY24yMGtfdGxzLmMubwpbMjcyMC8zNjA0XSBDb21waWxpbmcgQyBvYmpl Y3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2Ny eXB0b2Rldl9kZXZhcmdzLmMubwpbMjcyMS8zNjA0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9j YXBhYmlsaXRpZXMuYy5vClsyNzIyLzM2MDRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfY3J5cHRvX2NjcC5hLnAvY3J5cHRvX2NjcF9jY3BfY3J5cHRvLmMubwpbMjcyMy8z NjA0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEu cC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9vcHMuYy5vClsyNzI0LzM2MDRdIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NhYW1fanIuYS5wL2NyeXB0b19j YWFtX2pyX2NhYW1fanIuYy5vClsyNzI1LzM2MDRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuOWtfY3J5cHRvZGV2X29w cy5jLm8KWzI3MjYvMzYwNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9j cnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24xMGtfY3J5cHRvZGV2X29wcy5jLm8KbmluamE6 IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE0OgpPUzogUkhFTDk2LTY0UlQKVGFy Z2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0 ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8gCmdj YyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAgLUlkcml2ZXJzIC1JLi4vZHJp dmVycyAtSWRyaXZlcnMvY3J5cHRvL2NueGsgLUkuLi9kcml2ZXJzL2NyeXB0by9jbnhrIC1JbGli L25ldCAtSS4uL2xpYi9uZXQgLUlkcml2ZXJzL2V2ZW50L2NueGsgLUkuLi9kcml2ZXJzL2V2ZW50 L2NueGsgLUlsaWIvY3J5cHRvZGV2IC1JLi4vbGliL2NyeXB0b2RldiAtSWxpYi9lYWwvY29tbW9u IC1JLi4vbGliL2VhbC9jb21tb24gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIv ZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUg LUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGli L2VhbC94ODYvaW5jbHVkZSAtSS4uL2tlcm5lbC9saW51eCAtSWxpYi9lYWwgLUkuLi9saWIvZWFs IC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbG9nIC1JLi4vbGliL2xvZyAtSWxp Yi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVt ZXRyeSAtSWxpYi9tYnVmIC1JLi4vbGliL21idWYgLUlsaWIvbWVtcG9vbCAtSS4uL2xpYi9tZW1w b29sIC1JbGliL3JpbmcgLUkuLi9saWIvcmluZyAtSWxpYi9yY3UgLUkuLi9saWIvcmN1IC1JZHJp dmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xp bnV4IC1JbGliL3BjaSAtSS4uL2xpYi9wY2kgLUlkcml2ZXJzL2NvbW1vbi9jbnhrIC1JLi4vZHJp dmVycy9jb21tb24vY254ayAtSWxpYi9ldGhkZXYgLUkuLi9saWIvZXRoZGV2IC1JbGliL21ldGVy IC1JLi4vbGliL21ldGVyIC1JbGliL3NlY3VyaXR5IC1JLi4vbGliL3NlY3VyaXR5IC1JbGliL2V2 ZW50ZGV2IC1JLi4vbGliL2V2ZW50ZGV2IC1JbGliL2hhc2ggLUkuLi9saWIvaGFzaCAtSWxpYi90 aW1lciAtSS4uL2xpYi90aW1lciAtSWxpYi9kbWFkZXYgLUkuLi9saWIvZG1hZGV2IC1mZGlhZ25v c3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlk LXBjaCAtV2V4dHJhIC1XZXJyb3IgLXN0ZD1jMTEgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAt V3ZsYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJh bCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90 b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXIt YXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUt c3RyaW5ncyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlh bGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbXJ0bSAtREFMTE9XX0VY UEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXZsYSAtVUxBX0lQU0VDX0RFQlVH IC1VQ05YS19DUllQVE9ERVZfREVCVUcgLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1wbWQuY3J5 cHRvLmNueGsgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0 b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5 cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vLmQgLW8gZHJp dmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9k ZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu YwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzozNDk6MTogZXJy b3I6IHJlZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFf c2V04oCZCiAgMzQ5IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldChzdHJ1 Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAqc2VzcywKICAgICAgfCBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24g b2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmSB3aXRoIHR5cGUg 4oCYaW50KHN0cnVjdCBydGVfY3J5cHRvZGV2ICosIHZvaWQgKiwgZW51bSBydGVfY3J5cHRvX29w X3R5cGUsICBlbnVtIHJ0ZV9jcnlwdG9fb3Bfc2Vzc190eXBlLCAgdm9pZCAqKeKAmQogICAyOCB8 IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9k ZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo0NzA6MzI6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkgZGVjbGFy ZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0 aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNDcwIHwgY24yMGtfY3B0 X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNfcmVxLCBzdHJ1Y3QgY3B0X2lu c3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1 bmN0aW9uIOKAmGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs4oCZOgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzQ6NTI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0NzQgfCAgICAgICAgIHN0 cnVjdCBjcHRfaW5mbGlnaHRfcmVxICppbmZsX3JlcSA9IHZlY19yZXEtPnJlcTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0ODY6MzI6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0 ODYgfCAgICAgICAgIGluZmxfcmVxLT52ZWMgPSB2ZWNfcmVxLT52ZWM7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjQ5NDozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ5NCB8ICAgICAgICAgaW5zdC0+dzIudTY0 ID0gdmVjX3JlcS0+dzI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZl bDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEwOjQxOiBl cnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZl Y19yZXF1ZXN04oCZCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1 ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAq cXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEwOjI5OiBl cnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRl Y2xhcmF0aW9uIFstV2Vycm9yXQogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2 ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19j cHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rp b24g4oCYY24yMGtfY3B0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIg4oCYdmVj X3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDUxMCB8IGNuMjBrX2NwdF92ZWNf c3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVu LCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0 ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNTYyIHwgY2FfbG10c3Rf dmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZl Y190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo1MzogZXJyb3I6 IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qg d2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJh dGlvbiBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVy c3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3Ri bF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRv ZGV2X29wcy5jOjU2MjoyODogZXJyb3I6IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkgZGVjbGFyZWQg aW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlz IGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNTYyIHwgY2FfbG10c3RfdmVj X3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190 YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3RfdmVjX3N1Ym1pdOKAmToKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTc1OjE5OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDU3NSB8ICAgICAg ICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGVidWcuaDoxOCwKICAgICAgICAg ICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYml0b3BzLmg6MjMsCiAgICAgICAg ICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX21lbW9yeS5oOjE4LAogICAgICAg ICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tYWxsb2MuaDoxNiwKICAgICAg ICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjIwLAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjAx OjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxr KHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf YnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9l eHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjYwNjozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBv cHNfYnVyc3TigJkKICA2MDYgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3Bz OyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMTo1MzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MTEgfCAg ICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtp XSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwv aW5jbHVkZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlw dG9kZXYvY3J5cHRvZGV2X3BtZC5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEzOjcwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYxMyB8ICAgICAgICAgICAg ICAgICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJz dC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjMz NDo0Njogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhSVEVfTE9H4oCZCiAgMzM0IHwg ICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9BUkdTX18p CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDQ2OjIzOiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ0NiB8ICAgICAgICAgUlRFX0xPRyhsLCB0LCBSVEVf Rk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ0NzozMjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQogIDQ0NyB8ICAg ICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkp KTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4K Li4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMDk6OTogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfTElORV9QUkVGSVjigJkKICAzMDkgfCAgICAgICAg IFJURV9MT0dfTElORV9QUkVGSVgoREVCVUcsIHN1YnN5c3RlbSwgIiVzKCk6JXUgIiwgX19mdW5j X18gUlRFX0xPR19DT01NQSBfX0xJTkVfXywgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMxMzozMzogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9kYmfigJkKICAzMTMgfCAjZGVmaW5lIHBs dF9jcHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9kYmcoY3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMzoyNTogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmHBsdF9jcHRfZGJn4oCZCiAgNjEzIHwgICAgICAgICAgICAgICAgICAg ICAgICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtp XSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjI2OjUyOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYyNiB8ICAg ICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZWNfdGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0p CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjQw OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJz dOKAmQogIDY1NCB8ICAgICAgICAgICAgICAgICB2ZWNfdGJsW2xlbl0udzIgPSBidXJzdC0+dzJb aV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlm IChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVE KQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjEzOiBlcnJvcjogbmVzdGVkIGV4dGVybiBk ZWNsYXJhdGlvbiBvZiDigJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2Vycm9yPW5lc3RlZC1leHRl cm5zXQouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MzU6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN0 4oCZCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3Jk YXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NjY0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhi dXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDo1NDogbm90 ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBl YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24g4oCYcm9jX3Nzb19od3NfaGVhZF93YWl04oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQogIDY2NSB8ICAgICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFk X3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAgICAgfCAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjY2NToxNzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcm9jX3Nzb19o d3NfaGVhZF93YWl04oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjU6NDQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjY1IHwgICAgICAgICAg ICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+d3MtPmJhc2UpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzQ6MjM6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjc0IHwgICAgICAg ICBpZiAoaSAhPSBidXJzdC0+bmJfb3BzKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NzU6ODE6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ CiAgNjc1IHwgICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFf bXAsICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZ IFstV2Vycm9yPXVudXNlZC1wYXJhbWV0ZXJdCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChz dHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjgzOjMwOiBlcnJvcjog4oCYc3Ry dWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3Qg YmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdl cnJvcl0KICA2ODMgfCBjYV9sbXRzdF9idXJzdF9zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVy c3QpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNh X2xtdHN0X2J1cnN0X3N1Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6Njk1OjE5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY5NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfZGVidWcuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfYml0b3BzLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIv ZWFsL2luY2x1ZGUvcnRlX21lbW9yeS5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9tYWxsb2MuaDoxNiwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xp Yi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjIwLAogICAgICAgICAgICAgICAgIGZyb20gLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzEzOjgzOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcxMyB8ICAgICAg ICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lk ICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0 Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8 ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcxODozMDogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MTggfCAg ICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJzdC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjcyMzo1MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjMgfCAgICAgICAgICAgICAgICAgcmV0ID0g Y24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9kZXYuaDoy MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9kZXZfZHJpdmVyLmg6 OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5o OjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NzI1OjY5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IG9wc19idXJzdOKAmQogIDcyNSB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9kcF9k YmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9saWIvbG9nL3J0ZV9sb2cuaDozNTk6NDY6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYUlRFX0xPR19EUOKAmQogIDM1OSB8ICAgICAgICAgICAgICAgICAgUlRF X0xPR1RZUEVfICMjIHQsICMgdCAiOiAiIF9fVkFfQVJHU19fKSA6ICAgICBcCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4v bGliL2xvZy9ydGVfbG9nLmg6NDc1OjI2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY UlRFX0ZNVOKAmQogIDQ3NSB8ICAgICAgICAgUlRFX0xPR19EUChsLCB0LCBSVEVfRk1UKHByZWZp eCBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ3NjozMjogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQogIDQ3NiB8ICAgICAgICAg ICAgIGFyZ3MgUlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJp dmVycy9jb21tb24vY254ay9yb2NfcGxhdGZvcm0uaDozMzU6OTogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmFJURV9MT0dfRFBfTElORV9QUkVGSVjigJkKICAzMzUgfCAgICAgICAgIFJU RV9MT0dfRFBfTElORV9QUkVGSVgoREVCVUcsIENOWEssICIlcygpOiV1ICIsIF9fZnVuY19fIFJU RV9MT0dfQ09NTUEgX19MSU5FX18sIFwKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1OjI1 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0X2RwX2RiZ+KAmQogIDcyNSB8ICAg ICAgICAgICAgICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAl cCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MzY6Mzc6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN0 4oCZCiAgNzM2IHwgICAgICAgICAgICAgICAgIGluc3QtPncyLnU2NCA9IGJ1cnN0LT53MltpXTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6MzU6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzU0IHwgICAg ICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRf T1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU0OjU0OiBlcnJvcjog 4oCYU1NPX1RUX09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgNzU0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3Jk YXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NTo0NDogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NTUgfCAgICAgICAg ICAgICAgICAgcm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2RlYnVnLmg6MTgsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JpdG9wcy5oOjIzLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tZW1vcnkuaDoxOCwKICAgICAgICAg ICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfbWFsbG9jLmg6MTYsCiAgICAgICAg ICAgICAgICAgZnJvbSAuLi9saWIvY3J5cHRvZGV2L2NyeXB0b2Rldl9wbWQuaDoyMCwKICAgICAg ICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjU6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc2MDoz MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVy c3TigJkKICA3NjAgfCAgICAgICAgIGlmICh1bmxpa2VseShpICE9IGJ1cnN0LT5uYl9vcHMpKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1 ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYdW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1 aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo3NjE6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzYxIHwgICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1 dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29w cyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzY3OjE6IGVycm9yOiBubyBwcmV2aW91 cyBwcm90b3R5cGUgZm9yIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZIFst V2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10KICA3NjcgfCBjbjIwa19jcHRfY3J5cHRvX2FkYXB0 ZXJfZW5xdWV1ZSh2b2lkICp3cywgc3RydWN0IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9l dmVudHMpCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBr X2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBs ZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA3NzAgfCAgICAgICAg IHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50c107CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYYnVyc3TigJkg aXNu4oCZdCBrbm93bgogIDc3MiB8ICAgICAgICAgc3RydWN0IG9wc19idXJzdCBidXJzdDsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Nzk1Ojc3OiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFy YW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDc5NSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNhX2xtdHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJs LCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgwMTo2MjogZXJyb3I6IHR5 cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29tcGxldGUKICA4MDEgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY24yMGtfY3B0X3ZlY19zdWJtaXQodmVjX3Ri bCwgdmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MjA6NzM6IGVycm9yOiB0eXBlIG9m IGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAgODIwIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdWJtaXR0ZWQgPSBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwg dmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgzMjo2MjogZXJyb3I6 IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlzIGluY29tcGxldGUKICA4MzIgfCAgICAgICAg ICAgICAgICAgICAgICAgICBjb3VudCArPSBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwgdmVj X3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4Mzg6MzA6IGVycm9yOiB0eXBlIG9mIGZvcm1h bCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgODM4IHwgICAgICAgICBjbjIwa19jcHRfdmVj X3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3QucXApOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYYnVyc3Ti gJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3MiB8ICAgICAgICAgc3RydWN0IG9wc19i dXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzcwOjI4OiBlcnJvcjogdW51 c2VkIHZhcmlhYmxlIOKAmHZlY190YmzigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3 MCB8ICAgICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbbmJfZXZlbnRzXTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CkF0IHRvcCBsZXZlbDoKLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Mjg6MTogZXJyb3I6IOKAmGNu MjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkgZGVmaW5lZCBidXQgbm90IHVz ZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRh cHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQs IHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMjUzOC8zNTQ3XSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlw dG9fY254a19jbjIwa19jcnlwdG9kZXZfc2VjLmMubwpbMjUzOS8zNTQ3XSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhr X2NyeXB0b2Rldi5jLm8KWzI1NDAvMzU0N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfdGxzLmMubwpbMjU0MS8z NTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEu cC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldl9kZXZhcmdzLmMubwpbMjU0Mi8zNTQ3XSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbnhrX2NyeXB0b2Rldl9jYXBhYmlsaXRpZXMuYy5vClsyNTQzLzM1NDddIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NhYW1fanIuYS5wL2NyeXB0b19j YWFtX2pyX2NhYW1fanIuYy5vClsyNTQ0LzM1NDddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfY3J5cHRvX2NjcC5hLnAvY3J5cHRvX2NjcF9jY3BfY3J5cHRvLmMubwpbMjU0 NS8zNTQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhr LmEucC9jcnlwdG9fY254a19jbjlrX2NyeXB0b2Rldl9vcHMuYy5vClsyNTQ2LzM1NDddIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19j bnhrX2NuMTBrX2NyeXB0b2Rldl9vcHMuYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVp bGQgRmFpbGVkICMxNToKT1M6IFVCMjUwNC02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2Ny eXB0b19jbnhrLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9jcnlwdG8vY254 ayAtSS4uL2RyaXZlcnMvY3J5cHRvL2NueGsgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWRyaXZl cnMvZXZlbnQvY254ayAtSS4uL2RyaXZlcnMvZXZlbnQvY254ayAtSWxpYi9jcnlwdG9kZXYgLUku Li9saWIvY3J5cHRvZGV2IC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSS4g LUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwv aW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVk ZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4va2Vy bmVsL2xpbnV4IC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2 YXJncyAtSWxpYi9sb2cgLUkuLi9saWIvbG9nIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmlj cyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9saWIv bWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9y aW5nIC1JbGliL3JjdSAtSS4uL2xpYi9yY3UgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJz L2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvcGNpIC1JLi4vbGliL3Bj aSAtSWRyaXZlcnMvY29tbW9uL2NueGsgLUkuLi9kcml2ZXJzL2NvbW1vbi9jbnhrIC1JbGliL2V0 aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLUlsaWIvc2Vj dXJpdHkgLUkuLi9saWIvc2VjdXJpdHkgLUlsaWIvZXZlbnRkZXYgLUkuLi9saWIvZXZlbnRkZXYg LUlsaWIvaGFzaCAtSS4uL2xpYi9oYXNoIC1JbGliL3RpbWVyIC1JLi4vbGliL3RpbWVyIC1JbGli L2RtYWRldiAtSS4uL2xpYi9kbWFkZXYgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklM RV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtc3Rk PWMxMSAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XdmxhIC1XY2FzdC1xdWFsIC1XZGVwcmVj YXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlz c2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAt V29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0 cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tcGFja2VkLW5vdC1h bGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJ QyAtbWFyY2g9bmF0aXZlIC1tcnRtIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lO VEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQt bWVtYmVyIC1Xbm8tdmxhIC1VTEFfSVBTRUNfREVCVUcgLVVDTlhLX0NSWVBUT0RFVl9ERUJVRyAt RFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPXBtZC5jcnlwdG8uY254ayAtTUQgLU1RIGRyaXZlcnMv bGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2X29w cy5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtf Y24yMGtfY3J5cHRvZGV2X29wcy5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2Nu eGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1jIC4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjM0OToxOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIOKAmGNu MjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkKICAzNDkgfCBjbjIwa19jcHRf Y3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19y dGVfdW51c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 Mjg6MTogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRvX2Fk YXB0ZXJfZXZfbWRhdGFfc2V04oCZIHdpdGggdHlwZSDigJhpbnQoc3RydWN0IHJ0ZV9jcnlwdG9k ZXYgKiwgdm9pZCAqLCBlbnVtIHJ0ZV9jcnlwdG9fb3BfdHlwZSwgIGVudW0gcnRlX2NyeXB0b19v cF9zZXNzX3R5cGUsICB2b2lkICop4oCZCiAgIDI4IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVy X2V2X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9p ZCAqc2VzcywKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogZXJyb3I6 IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qg d2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJh dGlvbiBbLVdlcnJvcl0KICA0NzAgfCBjbjIwa19jcHRfdmVjX2luc3RfZmlsbChzdHJ1Y3QgdmVj X3JlcXVlc3QgKnZlY19yZXEsIHN0cnVjdCBjcHRfaW5zdF9zICppbnN0LAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X3ZlY19p bnN0X2ZpbGzigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjQ3NDo1MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2 ZWNfcmVxdWVzdOKAmQogIDQ3NCB8ICAgICAgICAgc3RydWN0IGNwdF9pbmZsaWdodF9yZXEgKmlu ZmxfcmVxID0gdmVjX3JlcS0+cmVxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjQ4NjozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ4NiB8ICAgICAgICAgaW5mbF9yZXEtPnZl YyA9IHZlY19yZXEtPnZlYzsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDk0OjMxOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN0 4oCZCiAgNDk0IHwgICAgICAgICBpbnN0LT53Mi51NjQgPSB2ZWNfcmVxLT53MjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6NDE6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNv bXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA1MTAgfCBjbjIw a19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCB2 ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6Mjk6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3JlcXVl c3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUg b3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNTEw IHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjbjIwa19jcHRfdmVjX3N1Ym1p dOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEwOjQx OiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNlZC1w YXJhbWV0ZXJdCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0 IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXAp CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+ fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxl dmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NjU6 IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3Qg dmVjX3JlcXVlc3TigJkKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVy c3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3Ri bF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6NTYyOjUzOiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDU2MiB8IGNh X2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVx dWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4OiBlcnJvcjog 4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3Qg KmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9s ZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjYV9s bXRzdF92ZWNfc3VibWl04oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo1NzU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNTc1IHwgICAgICAgICBxcCA9IGJ1cnN0LT5xcDsKICAgICAg fCAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2VhbC9p bmNsdWRlL3J0ZV9kZWJ1Zy5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9p bmNsdWRlL3J0ZV9iaXRvcHMuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfbWVtb3J5Lmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFs L2luY2x1ZGUvcnRlX21hbGxvYy5oOjE2LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2Ny eXB0b2Rldi9jcnlwdG9kZXZfcG1kLmg6MjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1OgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MDE6ODM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjAxIHwgICAgICAgICBp ZiAodW5saWtlbHkocnRlX21lbXBvb2xfZ2V0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZvaWQgKiop aW5mbF9yZXFzLCBidXJzdC0+bmJfb3BzKSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjQzOjQ1 OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAgIDQzIHwgI2Rl ZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjA2OjMwOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYwNiB8ICAgICAg ICAgZm9yIChpID0gMDsgaSA8IGJ1cnN0LT5uYl9vcHM7IGkrKykgewogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NjExOjUzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYxMSB8ICAgICAgICAgICAgICAgICByZXQgPSBjbjIw a19jcHRfZmlsbF9pbnN0KHFwLCAmYnVyc3QtPm9wW2ldLCBpbnN0LCBpbmZsX3JlcSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Rldi5oOjIwLAog ICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL2Rldl9kcml2ZXIuaDo5LAog ICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2NyeXB0b2Rldi9jcnlwdG9kZXZfcG1kLmg6MTg6 Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMzo3MDogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA2MTMgfCAgICAgICAgICAgICAgICAgICAgICAgICBwbHRfY3B0X2RiZygiQ291bGQgbm90IHBy b2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9s aWIvbG9nL3J0ZV9sb2cuaDozMzQ6NDY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY UlRFX0xPR+KAmQogIDMzNCB8ICAgICAgICAgICAgICAgICAgUlRFX0xPR1RZUEVfICMjIHQsICMg dCAiOiAiIF9fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ0NjoyMzog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVTigJkKICA0NDYgfCAgICAgICAg IFJURV9MT0cobCwgdCwgUlRFX0ZNVChwcmVmaXggUlRFX0ZNVF9IRUFEKF9fVkFfQVJHU19fICwp ICJcbiIsIFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9saWIvbG9n L3J0ZV9sb2cuaDo0NDc6MzI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfRk1U X1RBSUzigJkKICA0NDcgfCAgICAgICAgICAgICBhcmdzIFJURV9MT0dfQ09NTUEgUlRFX0ZNVF9U QUlMKF9fVkFfQVJHU19fICwpKSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY29tbW9uL2NueGsvcm9jX3BsYXRmb3JtLmg6 MzA5Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfTE9HX0xJTkVfUFJFRklY 4oCZCiAgMzA5IHwgICAgICAgICBSVEVfTE9HX0xJTkVfUFJFRklYKERFQlVHLCBzdWJzeXN0ZW0s ICIlcygpOiV1ICIsIF9fZnVuY19fIFJURV9MT0dfQ09NTUEgX19MSU5FX18sIFwKICAgICAgfCAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxh dGZvcm0uaDozMTM6MzM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhwbHRfZGJn4oCZ CiAgMzEzIHwgI2RlZmluZSBwbHRfY3B0X2RiZyhmbXQsIC4uLikgICBwbHRfZGJnKGNwdCwgZm10 LCAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTM6 MjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhwbHRfY3B0X2RiZ+KAmQogIDYxMyB8 ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBv cDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYy Njo1MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNf YnVyc3TigJkKICA2MjYgfCAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVjX3RibFt2aV0u dzIgIT0gYnVyc3QtPncyW2ldKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjY1NDo0MDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NTQgfCAgICAgICAgICAgICAgICAgdmVjX3RibFts ZW5dLncyID0gYnVyc3QtPncyW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjY2NDoxMzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmENO WEtfVFRfRlJPTV9UQUfigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgNjY0 IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBT U09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDoxMzogZXJyb3I6IG5l c3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYQ05YS19UVF9GUk9NX1RBR+KAmSBbLVdlcnJv cj1uZXN0ZWQtZXh0ZXJuc10KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjY0OjM1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IG9wc19idXJzdOKAmQogIDY2NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJPTV9UQUcoYnVy c3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjY2NDo1NDogZXJyb3I6IOKAmFNTT19UVF9PUkRFUkVE4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDY2NCB8ICAgICAgICAgaWYgKENOWEtf VFRfRlJPTV9UQUcoYnVyc3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo2NjQ6NTQ6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9u bHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NToxNzogZXJyb3I6IGltcGxpY2l0IGRlY2xh cmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJvY19zc29faHdzX2hlYWRfd2FpdOKAmSBbLVdpbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjUgfCAgICAgICAgICAgICAgICAgcm9jX3Nzb19o d3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo2NjU6MTc6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJv Y19zc29faHdzX2hlYWRfd2FpdOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjQ0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY2NSB8ICAg ICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3QtPndzLT5iYXNlKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njc0OjIzOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY3NCB8 ICAgICAgICAgaWYgKGkgIT0gYnVyc3QtPm5iX29wcykKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njc1 OjgxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDY3NSB8ICAgICAgICAgICAgICAgICBydGVfbWVtcG9vbF9wdXRfYnVsayhxcC0+ Y2EucmVxX21wLCAodm9pZCAqKSZpbmZsX3JlcXNbaV0sIGJ1cnN0LT5uYl9vcHMgLSBpKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo2NTogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIg4oCYdmVj X3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDU2MiB8IGNhX2xtdHN0X3ZlY19z dWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJs W10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY4MzozMDogZXJyb3I6 IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdp bGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRp b24gWy1XZXJyb3JdCiAgNjgzIHwgY2FfbG10c3RfYnVyc3Rfc3VibWl0KHN0cnVjdCBvcHNfYnVy c3QgKmJ1cnN0KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlv biDigJhjYV9sbXRzdF9idXJzdF9zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjY5NToxOTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2OTUgfCAgICAgICAgIHFwID0gYnVyc3Qt PnFwOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjcxMzo4MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MTMgfCAgICAgICAgIGlmICh1bmxp a2VseShydGVfbWVtcG9vbF9nZXRfYnVsayhxcC0+Y2EucmVxX21wLCAodm9pZCAqKilpbmZsX3Jl cXMsIGJ1cnN0LT5uYl9vcHMpKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5lIHVu bGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MTg6MzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzE4IHwgICAgICAgICBmb3Ig KGkgPSAwOyBpIDwgYnVyc3QtPm5iX29wczsgaSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo3MjM6NTM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1 Y3Qgb3BzX2J1cnN04oCZCiAgNzIzIHwgICAgICAgICAgICAgICAgIHJldCA9IGNuMjBrX2NwdF9m aWxsX2luc3QocXAsICZidXJzdC0+b3BbaV0sIGluc3QsIGluZmxfcmVxKTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1OjY5OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcyNSB8 ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9w OiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbG9nL3J0 ZV9sb2cuaDozNTk6NDY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUlRFX0xPR19E UOKAmQogIDM1OSB8ICAgICAgICAgICAgICAgICAgUlRFX0xPR1RZUEVfICMjIHQsICMgdCAiOiAi IF9fVkFfQVJHU19fKSA6ICAgICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDc1OjI2 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKAmQogIDQ3NSB8ICAgICAg ICAgUlRFX0xPR19EUChsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1UX0hFQUQoX19WQV9BUkdT X18gLCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4u L2xpYi9sb2cvcnRlX2xvZy5oOjQ3NjozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mFJURV9GTVRfVEFJTOKAmQogIDQ3NiB8ICAgICAgICAgICAgIGFyZ3MgUlRFX0xPR19DT01NQSBS VEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2NfcGxh dGZvcm0uaDozMzU6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfRFBf TElORV9QUkVGSVjigJkKICAzMzUgfCAgICAgICAgIFJURV9MT0dfRFBfTElORV9QUkVGSVgoREVC VUcsIENOWEssICIlcygpOiV1ICIsIF9fZnVuY19fIFJURV9MT0dfQ09NTUEgX19MSU5FX18sIFwK ICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1OjI1OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYcGx0X2RwX2RiZ+KAmQogIDcyNSB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBs dF9kcF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MzY6Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzM2IHwgICAgICAgICAgICAg ICAgIGluc3QtPncyLnU2NCA9IGJ1cnN0LT53MltpXTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo3NTQ6MzU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzU0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RB RyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIw a19jcnlwdG9kZXZfb3BzLmM6NzU0OjU0OiBlcnJvcjog4oCYU1NPX1RUX09SREVSRUTigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNzU0IHwgICAgICAgICBpZiAo Q05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjc1NTo0NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBvcHNfYnVyc3TigJkKICA3NTUgfCAgICAgICAgICAgICAgICAgcm9jX3Nzb19od3NfaGVh ZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRv ZGV2X29wcy5jOjc2MDozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NjAgfCAgICAgICAgIGlmICh1bmxpa2VseShpICE9IGJ1 cnN0LT5uYl9vcHMpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6NDM6NDU6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAgNDMgfCAjZGVmaW5lIHVubGlr ZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NjE6ODE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzYxIHwgICAgICAgICAgICAgICAg IHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICopJmluZmxfcmVxc1tp XSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZl bDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzY3OjE6IGVy cm9yOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRl cl9lbnF1ZXVl4oCZIFstV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10KICA3NjcgfCBjbjIwa19j cHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZSh2b2lkICp3cywgc3RydWN0IHJ0ZV9ldmVudCBldltd LCB1aW50MTZfdCBuYl9ldmVudHMpCiAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEluIGZ1 bmN0aW9uIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZOgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6IGVycm9yOiBhcnJheSB0 eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkK ICA3NzAgfCAgICAgICAgIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50c107CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiBzdG9yYWdlIHNpemUg b2Yg4oCYYnVyc3TigJkgaXNu4oCZdCBrbm93bgogIDc3MiB8ICAgICAgICAgc3RydWN0IG9wc19i dXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Nzk1Ojc3OiBlcnJvcjogdHlw ZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDc5NSB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhX2xtdHN0X3ZlY19zdWJtaXQo JmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjgw MTo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlzIGluY29tcGxldGUKICA4 MDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY24yMGtfY3B0X3Zl Y19zdWJtaXQodmVjX3RibCwgdmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MjA6NzM6 IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAgODIwIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtaXR0ZWQgPSBjYV9sbXRzdF92ZWNf c3VibWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjgzMjo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAyIGlzIGluY29tcGxldGUK ICA4MzIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCArPSBjYV9sbXRzdF92ZWNfc3Vi bWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4Mzg6MzA6IGVycm9y OiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgODM4IHwgICAgICAg ICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xlbiwgYnVyc3QucXApOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9yOiB1bnVzZWQgdmFy aWFibGUg4oCYYnVyc3TigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3MiB8ICAgICAg ICAgc3RydWN0IG9wc19idXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Nzcw OjI4OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZlY190YmzigJkgWy1XZXJyb3I9dW51c2Vk LXZhcmlhYmxlXQogIDc3MCB8ICAgICAgICAgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbbmJf ZXZlbnRzXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4u L2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IGVycm9yOiDi gJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V04oCZIGRlZmluZWQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KICAgMjggfCBjbjIwa19jcHRfY3J5cHRv X2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51 c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzI3MjEvMzc4 MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAv Y3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZfY2FwYWJpbGl0aWVzLmMubwpbMjcyMi8zNzgxXSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlw dG9fY254a19jbjIwa190bHMuYy5vClsyNzIzLzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2 ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2 X3NlYy5jLm8KWzI3MjQvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZfZGV2YXJncy5jLm8K WzI3MjUvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9f Y2FhbV9qci5hLnAvY3J5cHRvX2NhYW1fanJfY2FhbV9qci5jLm8KWzI3MjYvMzc4MV0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY2NwLmEucC9jcnlwdG9fY2Nw X2NjcF9jcnlwdG8uYy5vClsyNzI3LzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X29wcy5j Lm8KWzI3MjgvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlw dG9fY254ay5hLnAvY3J5cHRvX2NueGtfY245a19jcnlwdG9kZXZfb3BzLmMubwpbMjcyOS8zNzgx XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9j cnlwdG9fY254a19jbjEwa19jcnlwdG9kZXZfb3BzLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoK CgoKKkJ1aWxkIEZhaWxlZCAjMTY6Ck9TOiBGQzQyLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2Ny eXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9y dGVfY3J5cHRvX2NueGsuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2NyeXB0 by9jbnhrIC1JLi4vZHJpdmVycy9jcnlwdG8vY254ayAtSWxpYi9uZXQgLUkuLi9saWIvbmV0IC1J ZHJpdmVycy9ldmVudC9jbnhrIC1JLi4vZHJpdmVycy9ldmVudC9jbnhrIC1JbGliL2NyeXB0b2Rl diAtSS4uL2xpYi9jcnlwdG9kZXYgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9u IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGli L2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9p bmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUku Li9rZXJuZWwvbGludXggLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9s aWIva3ZhcmdzIC1JbGliL2xvZyAtSS4uL2xpYi9sb2cgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9t ZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLUlsaWIvbWJ1ZiAtSS4u L2xpYi9tYnVmIC1JbGliL21lbXBvb2wgLUkuLi9saWIvbWVtcG9vbCAtSWxpYi9yaW5nIC1JLi4v bGliL3JpbmcgLUlsaWIvcmN1IC1JLi4vbGliL3JjdSAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2Ry aXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9wY2kgLUkuLi9s aWIvcGNpIC1JZHJpdmVycy9jb21tb24vY254ayAtSS4uL2RyaXZlcnMvY29tbW9uL2NueGsgLUls aWIvZXRoZGV2IC1JLi4vbGliL2V0aGRldiAtSWxpYi9tZXRlciAtSS4uL2xpYi9tZXRlciAtSWxp Yi9zZWN1cml0eSAtSS4uL2xpYi9zZWN1cml0eSAtSWxpYi9ldmVudGRldiAtSS4uL2xpYi9ldmVu dGRldiAtSWxpYi9oYXNoIC1JLi4vbGliL2hhc2ggLUlsaWIvdGltZXIgLUkuLi9saWIvdGltZXIg LUlsaWIvZG1hZGV2IC1JLi4vbGliL2RtYWRldiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAt RF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9y IC1zdGQ9YzExIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVd2bGEgLVdjYXN0LXF1YWwgLVdk ZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkg LVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRl cm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJl IC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1wYWNrZWQt bm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtZnplcm8taW5pdC1w YWRkaW5nLWJpdHM9YWxsIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbXJ0bSAt REFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQt dHJ1bmNhdGlvbiAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXZsYSAtVUxBX0lQ U0VDX0RFQlVHIC1VQ05YS19DUllQVE9ERVZfREVCVUcgLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQ RT1wbWQuY3J5cHRvLmNueGsgLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsu YS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1NRiBkcml2ZXJzL2xpYnRt cF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5v LmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjIw a19jcnlwdG9kZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzoz NDk6MTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJf ZXZfbWRhdGFfc2V04oCZCiAgMzQ5IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRh X3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAqc2VzcywK ICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjI4OjE6IG5vdGU6IHByZXZpb3VzIGRl ZmluaXRpb24gb2Yg4oCYY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldOKAmSB3 aXRoIHR5cGUg4oCYaW50KHN0cnVjdCBydGVfY3J5cHRvZGV2ICosIHZvaWQgKiwgZW51bSBydGVf Y3J5cHRvX29wX3R5cGUsICBlbnVtIHJ0ZV9jcnlwdG9fb3Bfc2Vzc190eXBlLCAgdm9pZCAqKeKA mQogICAyOCB8IGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXQoc3RydWN0IHJ0 ZV9jcnlwdG9kZXYgKmRldiBfX3J0ZV91bnVzZWQsIHZvaWQgKnNlc3MsCiAgICAgIHwgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3JlcXVlc3Ti gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNDcwIHwg Y24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNfcmVxLCBzdHJ1 Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF92ZWNfaW5zdF9maWxs4oCZOgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzQ6NTI6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA0NzQgfCAg ICAgICAgIHN0cnVjdCBjcHRfaW5mbGlnaHRfcmVxICppbmZsX3JlcSA9IHZlY19yZXEtPnJlcTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0ODY6MzI6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVl c3TigJkKICA0ODYgfCAgICAgICAgIGluZmxfcmVxLT52ZWMgPSB2ZWNfcmVxLT52ZWM7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ5NDozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ5NCB8ICAgICAgICAgaW5z dC0+dzIudTY0ID0gdmVjX3JlcS0+dzI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0 IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NTEwOjQxOiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCY c3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0 IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhr X2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NTEwOjI5OiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0 KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1 Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzog SW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X3ZlY19zdWJtaXTigJk6Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjUxMDo0MTogZXJyb3I6IHVudXNlZCBwYXJhbWV0 ZXIg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDUxMCB8IGNuMjBr X2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90IHZl Y190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjY1OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMg aW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNTYyIHwg Y2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19y ZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo1 MzogZXJyb3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1l dGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBv ciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVj dCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZf dCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogZXJyb3I6IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkg ZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNTYyIHwgY2Ff bG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1 ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2Ny eXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3RfdmVjX3N1Ym1pdOKAmToKLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTc1OjE5OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDU3 NSB8ICAgICAgICAgcXAgPSBidXJzdC0+cXA7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn4K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGVidWcuaDoxOCwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYml0b3BzLmg6MjMs CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX21lbW9yeS5oOjE4 LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9tYWxsb2MuaDox NiwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5o OjIwLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NjAxOjgzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3Ry dWN0IG9wc19idXJzdOKAmQogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29s X2dldF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29w cykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9lYWwvaW5j bHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDo0Mzo0NTogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJh1bmxpa2VseeKAmQogICA0MyB8ICNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9f YnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRv ZGV2X29wcy5jOjYwNjozMDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCBvcHNfYnVyc3TigJkKICA2MDYgfCAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBidXJz dC0+bmJfb3BzOyBpKyspIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMTo1MzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkK ICA2MTEgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1 cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li4vbGliL2VhbC9pbmNsdWRlL3J0ZV9kZXYuaDoyMCwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2xpYi9lYWwvaW5jbHVkZS9kZXZfZHJpdmVyLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2xpYi9jcnlwdG9kZXYvY3J5cHRvZGV2X3BtZC5oOjE4OgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTM6NzA6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjEzIHwgICAgICAgICAgICAgICAg ICAgICAgICAgcGx0X2NwdF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5v cFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6MzM0OjQ2 OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9MT0figJkKICAzMzQgfCAgICAg ICAgICAgICAgICAgIFJURV9MT0dUWVBFXyAjIyB0LCAjIHQgIjogIiBfX1ZBX0FSR1NfXykKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fgouLi9saWIvbG9nL3J0ZV9sb2cuaDo0NDY6MjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhSVEVfRk1U4oCZCiAgNDQ2IHwgICAgICAgICBSVEVfTE9HKGwsIHQsIFJURV9GTVQo cHJlZml4IFJURV9GTVRfSEVBRChfX1ZBX0FSR1NfXyAsKSAiXG4iLCBcCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6NDQ3OjMyOiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVF9UQUlM4oCZCiAgNDQ3IHwgICAgICAg ICAgICAgYXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJTChfX1ZBX0FSR1NfXyAsKSkpOyBc CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2NvbW1vbi9jbnhrL3JvY19wbGF0Zm9ybS5oOjMwOTo5OiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8g4oCYUlRFX0xPR19MSU5FX1BSRUZJWOKAmQogIDMwOSB8ICAgICAgICAgUlRF X0xPR19MSU5FX1BSRUZJWChERUJVRywgc3Vic3lzdGVtLCAiJXMoKToldSAiLCBfX2Z1bmNfXyBS VEVfTE9HX0NPTU1BIF9fTElORV9fLCBcCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvY29tbW9uL2NueGsvcm9jX3BsYXRmb3JtLmg6MzEzOjMzOiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0X2RiZ+KAmQogIDMxMyB8ICNkZWZpbmUgcGx0X2Nw dF9kYmcoZm10LCAuLi4pICAgcGx0X2RiZyhjcHQsIGZtdCwgIyNfX1ZBX0FSR1NfXykKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlw dG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjEzOjI1OiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYcGx0X2NwdF9kYmfigJkKICA2MTMgfCAgICAgICAgICAgICAgICAgICAgICAg ICBwbHRfY3B0X2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MjY6NTI6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjI2IHwgICAgICAg ICAgICAgICAgICAgICAgICAgaWYgKHZlY190YmxbdmldLncyICE9IGJ1cnN0LT53MltpXSkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NTQ6NDA6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ CiAgNjU0IHwgICAgICAgICAgICAgICAgIHZlY190YmxbbGVuXS53MiA9IGJ1cnN0LT53MltpXTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6MTM6IGVycm9yOiBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhDTlhLX1RUX0ZST01fVEFH4oCZIFstV2lt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDY2NCB8ICAgICAgICAgaWYgKENOWEtfVFRf RlJPTV9UQUcoYnVyc3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzo2NjQ6MTM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9u IG9mIOKAmENOWEtfVFRfRlJPTV9UQUfigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDozNTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NjQg fCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNT T19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6NTQ6IGVy cm9yOiDigJhTU09fVFRfT1JERVJFROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICA2NjQgfCAgICAgICAgIGlmIChDTlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+ Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY0OjU0OiBub3RlOiBlYWNoIHVu ZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rp b24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9v cHMuYzo2NjU6MTc6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhy b2Nfc3NvX2h3c19oZWFkX3dhaXTigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25d CiAgNjY1IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+d3Mt PmJhc2UpOwogICAgICB8ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjE3OiBlcnJvcjog bmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhyb2Nfc3NvX2h3c19oZWFkX3dhaXTigJkg Wy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjY2NTo0NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NjUgfCAgICAgICAgICAgICAgICAgcm9jX3Nzb19o d3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjY3NDoyMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NzQgfCAgICAgICAgIGlmIChpICE9IGJ1cnN0 LT5uYl9vcHMpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY3NTo4MTogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NzUgfCAgICAgICAg ICAgICAgICAgcnRlX21lbXBvb2xfcHV0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZvaWQgKikmaW5m bF9yZXFzW2ldLCBidXJzdC0+bmJfb3BzIC0gaSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6 NjU6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyIOKAmHZlY190YmzigJkgWy1XZXJyb3I9dW51c2Vk LXBhcmFtZXRlcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3Qg KmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9s ZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo2ODM6MzA6IGVycm9yOiDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDY4MyB8IGNh X2xtdHN0X2J1cnN0X3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY2FfbG10c3RfYnVyc3Rfc3Vi bWl04oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2OTU6 MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1 cnN04oCZCiAgNjk1IHwgICAgICAgICBxcCA9IGJ1cnN0LT5xcDsKICAgICAgfCAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3 MTM6ODM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3Bz X2J1cnN04oCZCiAgNzEzIHwgICAgICAgICBpZiAodW5saWtlbHkocnRlX21lbXBvb2xfZ2V0X2J1 bGsocXAtPmNhLnJlcV9tcCwgKHZvaWQgKiopaW5mbF9yZXFzLCBidXJzdC0+bmJfb3BzKSkpIHsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0 ZV9icmFuY2hfcHJlZGljdGlvbi5oOjQzOjQ1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHVubGlrZWx54oCZCiAgIDQzIHwgI2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGlu X2V4cGVjdCghISh4KSwgMCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NzE4OjMwOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IG9wc19idXJzdOKAmQogIDcxOCB8ICAgICAgICAgZm9yIChpID0gMDsgaSA8IGJ1cnN0LT5uYl9v cHM7IGkrKykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzIzOjUzOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDcyMyB8 ICAgICAgICAgICAgICAgICByZXQgPSBjbjIwa19jcHRfZmlsbF9pbnN0KHFwLCAmYnVyc3QtPm9w W2ldLCBpbnN0LCBpbmZsX3JlcSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjcyNTo2OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MjUgfCAgICAgICAgICAgICAgICAgICAgICAg ICBwbHRfZHBfZGJnKCJDb3VsZCBub3QgcHJvY2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xvZy9ydGVfbG9nLmg6MzU5OjQ2OiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFJURV9MT0dfRFDigJkKICAzNTkgfCAgICAgICAgICAg ICAgICAgIFJURV9MT0dUWVBFXyAjIyB0LCAjIHQgIjogIiBfX1ZBX0FSR1NfXykgOiAgICAgXAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ3NToyNjogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmFJURV9GTVTigJkKICA0NzUgfCAgICAgICAgIFJURV9MT0dfRFAobCwgdCwgUlRF X0ZNVChwcmVmaXggUlRFX0ZNVF9IRUFEKF9fVkFfQVJHU19fICwpICJcbiIsIFwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9saWIvbG9nL3J0ZV9sb2cuaDo0NzY6 MzI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfRk1UX1RBSUzigJkKICA0NzYg fCAgICAgICAgICAgICBhcmdzIFJURV9MT0dfQ09NTUEgUlRFX0ZNVF9UQUlMKF9fVkFfQVJHU19f ICwpKSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvY29tbW9uL2NueGsvcm9jX3BsYXRmb3JtLmg6MzM1Ojk6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfTE9HX0RQX0xJTkVfUFJFRklY4oCZCiAgMzM1IHwg ICAgICAgICBSVEVfTE9HX0RQX0xJTkVfUFJFRklYKERFQlVHLCBDTlhLLCAiJXMoKToldSAiLCBf X2Z1bmNfXyBSVEVfTE9HX0NPTU1BIF9fTElORV9fLCBcCiAgICAgIHwgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjcyNToyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmHBsdF9kcF9kYmfigJkK ICA3MjUgfCAgICAgICAgICAgICAgICAgICAgICAgICBwbHRfZHBfZGJnKCJDb3VsZCBub3QgcHJv Y2VzcyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NzM2OjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0 IG9wc19idXJzdOKAmQogIDczNiB8ICAgICAgICAgICAgICAgICBpbnN0LT53Mi51NjQgPSBidXJz dC0+dzJbaV07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU0OjM1OiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQog IDc1NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJPTV9UQUcoYnVyc3QtPndzLT5nd19yZGF0YSkg PT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NDo1 NDogZXJyb3I6IOKAmFNTT19UVF9PUkRFUkVE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIDc1NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJPTV9UQUcoYnVyc3Qt PndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTU6NDQ6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzU1 IHwgICAgICAgICAgICAgICAgIHJvY19zc29faHdzX2hlYWRfd2FpdChidXJzdC0+d3MtPmJhc2Up OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NjA6MzI6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAg NzYwIHwgICAgICAgICBpZiAodW5saWtlbHkoaSAhPSBidXJzdC0+bmJfb3BzKSkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9i cmFuY2hfcHJlZGljdGlvbi5oOjQzOjQ1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHVubGlrZWx54oCZCiAgIDQzIHwgI2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGluX2V4 cGVjdCghISh4KSwgMCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6 NzYxOjgxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9w c19idXJzdOKAmQogIDc2MSB8ICAgICAgICAgICAgICAgICBydGVfbWVtcG9vbF9wdXRfYnVsayhx cC0+Y2EucmVxX21wLCAodm9pZCAqKSZpbmZsX3JlcXNbaV0sIGJ1cnN0LT5uYl9vcHMgLSBpKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc2NzoxOiBlcnJvcjogbm8gcHJldmlvdXMgcHJvdG90 eXBlIGZvciDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZeKAmSBbLVdlcnJvcj1t aXNzaW5nLXByb3RvdHlwZXNdCiAgNzY3IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2VucXVl dWUodm9pZCAqd3MsIHN0cnVjdCBydGVfZXZlbnQgZXZbXSwgdWludDE2X3QgbmJfZXZlbnRzKQog ICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRv L2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjbjIwa19jcHRfY3J5 cHRvX2FkYXB0ZXJfZW5xdWV1ZeKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NzcwOjI4OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVt ZW50IHR5cGUg4oCYc3RydWN0IHZlY19yZXF1ZXN04oCZCiAgNzcwIHwgICAgICAgICBzdHJ1Y3Qg dmVjX3JlcXVlc3QgdmVjX3RibFtuYl9ldmVudHNdOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NzcyOjI2OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGJ1cnN04oCZIGlzbuKAmXQg a25vd24KICA3NzIgfCAgICAgICAgIHN0cnVjdCBvcHNfYnVyc3QgYnVyc3Q7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjc5NTo3NzogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAy IGlzIGluY29tcGxldGUKICA3OTUgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190 YmxfbGVuKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MDE6NjI6IGVycm9yOiB0eXBlIG9mIGZv cm1hbCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRlCiAgODAxIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNuMjBrX2NwdF92ZWNfc3VibWl0KHZlY190YmwsIHZlY190 YmxfbGVuLCBidXJzdC5xcCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8v Y254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6ODIwOjczOiBlcnJvcjogdHlwZSBvZiBmb3JtYWwg cGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDgyMCB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3VibWl0dGVkID0gY2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZlY190Ymws ICZ2ZWNfdGJsX2xlbik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo4MzI6NjI6IGVycm9yOiB0eXBlIG9m IGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNvbXBsZXRlCiAgODMyIHwgICAgICAgICAgICAgICAg ICAgICAgICAgY291bnQgKz0gY2FfbG10c3RfdmVjX3N1Ym1pdCgmYnVyc3QsIHZlY190YmwsICZ2 ZWNfdGJsX2xlbik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6ODM4OjMwOiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1l dGVyIDEgaXMgaW5jb21wbGV0ZQogIDgzOCB8ICAgICAgICAgY24yMGtfY3B0X3ZlY19zdWJtaXQo dmVjX3RibCwgdmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NzcyOjI2OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmGJ1cnN04oCZIFstV2Vy cm9yPXVudXNlZC12YXJpYWJsZV0KICA3NzIgfCAgICAgICAgIHN0cnVjdCBvcHNfYnVyc3QgYnVy c3Q7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+Ci4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc3MDoyODogZXJyb3I6IHVudXNlZCB2YXJp YWJsZSDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICA3NzAgfCAgICAg ICAgIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW25iX2V2ZW50c107CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzoyODoxOiBlcnJvcjog4oCYY24yMGtfY3B0X2NyeXB0b19hZGFw dGVyX2V2X21kYXRhX3NldOKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQt ZnVuY3Rpb25dCiAgIDI4IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldChz dHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAqc2VzcywKICAgICAg fCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdz IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzClsyNzE4LzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX3Rscy5j Lm8KWzI3MTkvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlw dG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXYuYy5vClsyNzIwLzM3ODFdIENv bXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NhYW1fanIuYS5wL2Ny eXB0b19jYWFtX2pyX2NhYW1fanIuYy5vClsyNzIxLzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRv ZGV2X2NhcGFiaWxpdGllcy5jLm8KWzI3MjIvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXZf ZGV2YXJncy5jLm8KWzI3MjMvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1w X3J0ZV9jcnlwdG9fY2NwLmEucC9jcnlwdG9fY2NwX2NjcF9jcnlwdG8uYy5vClsyNzI0LzM3ODFd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2Ny eXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X29wcy5jLm8KWzI3MjUvMzc4MV0gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY245 a19jcnlwdG9kZXZfb3BzLmMubwpbMjcyNi8zNzgxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVy cy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjEwa19jcnlwdG9kZXZf b3BzLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTc6Ck9TOiBG QzQyLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGRyaXZl cnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2 X29wcy5jLm8gCmNsYW5nIC1JZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucCAtSWRy aXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9jcnlwdG8vY254ayAtSS4uL2RyaXZlcnMvY3J5 cHRvL2NueGsgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWRyaXZlcnMvZXZlbnQvY254ayAtSS4u L2RyaXZlcnMvZXZlbnQvY254ayAtSWxpYi9jcnlwdG9kZXYgLUkuLi9saWIvY3J5cHRvZGV2IC1J bGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4u L2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwv bGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2lu Y2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4va2VybmVsL2xpbnV4IC1JbGliL2Vh bCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9sb2cgLUku Li9saWIvbG9nIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkg LUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9saWIvbWJ1ZiAtSWxpYi9tZW1wb29s IC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xpYi9yaW5nIC1JbGliL3JjdSAtSS4u L2xpYi9yY3UgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2 ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvcGNpIC1JLi4vbGliL3BjaSAtSWRyaXZlcnMvY29tbW9u L2NueGsgLUkuLi9kcml2ZXJzL2NvbW1vbi9jbnhrIC1JbGliL2V0aGRldiAtSS4uL2xpYi9ldGhk ZXYgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLUlsaWIvc2VjdXJpdHkgLUkuLi9saWIvc2Vj dXJpdHkgLUlsaWIvZXZlbnRkZXYgLUkuLi9saWIvZXZlbnRkZXYgLUlsaWIvaGFzaCAtSS4uL2xp Yi9oYXNoIC1JbGliL3RpbWVyIC1JLi4vbGliL3RpbWVyIC1JbGliL2RtYWRldiAtSS4uL2xpYi9k bWFkZXYgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAt V2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtc3RkPWMxMSAtTzMgLWluY2x1ZGUg cnRlX2NvbmZpZy5oIC1XdmxhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zv cm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0 aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1X dW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURf R05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1tcnRtIC1EQUxMT1dfRVhQRVJJTUVOVEFM X0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tYWRk cmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tdmxhIC1VTEFfSVBTRUNfREVCVUcgLVVDTlhLX0NS WVBUT0RFVl9ERUJVRyAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPXBtZC5jcnlwdG8uY254ayAt RFJURV9BTk5PVEFURV9MT0NLUyAtV3RocmVhZC1zYWZldHkgLU1EIC1NUSBkcml2ZXJzL2xpYnRt cF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5v IC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBr X2NyeXB0b2Rldl9vcHMuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEu cC9jcnlwdG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAtYyAuLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYwouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBr X2NyeXB0b2Rldl9vcHMuYzozNDk6MTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnY24yMGtfY3B0 X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldCcKICAzNDkgfCBjbjIwa19jcHRfY3J5cHRvX2Fk YXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYgX19ydGVfdW51c2Vk LCB2b2lkICpzZXNzLAogICAgICB8IF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6Mjg6MTogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBpcyBoZXJlCiAgIDI4 IHwgY24yMGtfY3B0X2NyeXB0b19hZGFwdGVyX2V2X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0 b2RldiAqZGV2IF9fcnRlX3VudXNlZCwgdm9pZCAqc2VzcywKICAgICAgfCBeCi4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogZXJyb3I6IGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0eV0KICA0NzAgfCBjbjIwa19jcHRf dmVjX2luc3RfZmlsbChzdHJ1Y3QgdmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0cnVjdCBjcHRfaW5z dF9zICppbnN0LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3NDo0NTogZXJyb3I6IGlu Y29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNDc0IHwg ICAgICAgICBzdHJ1Y3QgY3B0X2luZmxpZ2h0X3JlcSAqaW5mbF9yZXEgPSB2ZWNfcmVxLT5yZXE7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ fn5+XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo0NzA6MzI6 IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0NzAg fCBjbjIwa19jcHRfdmVjX2luc3RfZmlsbChzdHJ1Y3QgdmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0 cnVjdCBjcHRfaW5zdF9zICppbnN0LAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ4Njoy NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdmVjX3JlcXVl c3QnCiAgNDg2IHwgICAgICAgICBpbmZsX3JlcS0+dmVjID0gdmVjX3JlcS0+dmVjOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IHZlY19yZXF1ZXN0JwogIDQ3MCB8IGNuMjBrX2NwdF92ZWNfaW5zdF9maWxsKHN0 cnVjdCB2ZWNfcmVxdWVzdCAqdmVjX3JlcSwgc3RydWN0IGNwdF9pbnN0X3MgKmluc3QsCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254 ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDk0OjI0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0 aW9uIG9mIHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA0OTQgfCAgICAgICAgIGluc3QtPncy LnU2NCA9IHZlY19yZXEtPncyOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fl4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDcwOjMyOiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNDcwIHwg Y24yMGtfY3B0X3ZlY19pbnN0X2ZpbGwoc3RydWN0IHZlY19yZXF1ZXN0ICp2ZWNfcmVxLCBzdHJ1 Y3QgY3B0X2luc3RfcyAqaW5zdCwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6Mjk6 IGVycm9yOiBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19yZXF1ZXN0JyB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCiAg NTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwg dWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NTEwOjQ4OiBlcnJvcjogYXJyYXkgaGFzIGluY29tcGxldGUgZWxlbWVu dCB0eXBlICdzdHJ1Y3QgdmVjX3JlcXVlc3QnCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQo c3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVj dCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjUxMDoyOTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19y ZXF1ZXN0JwogIDUxMCB8IGNuMjBrX2NwdF92ZWNfc3VibWl0KHN0cnVjdCB2ZWNfcmVxdWVzdCB2 ZWNfdGJsW10sIHVpbnQxNl90IHZlY190YmxfbGVuLCBzdHJ1Y3QgY254a19jcHRfcXAgKnFwKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3Qgb3BzX2J1cnN0JyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5j dGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChz dHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjUzOiBlcnJv cjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcgd2lsbCBub3QgYmUgdmlzaWJs ZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQogIDU2MiB8 IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNf cmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6NzI6IGVycm9yOiBhcnJheSBo YXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUgJ3N0cnVjdCB2ZWNfcmVxdWVzdCcKICA1NjIgfCBj YV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3Jl cXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo1 Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZlY19yZXF1ZXN0JwogIDU2 MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2 ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NzU6MTI6IGVycm9yOiBpbmNv bXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA1NzUgfCAgICAg ICAgIHFwID0gYnVyc3QtPnFwOwogICAgICB8ICAgICAgICAgICAgICB+fn5+fl4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4OiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19z dWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJs W10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYwMTo3 NjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0 JwogIDYwMSB8ICAgICAgICAgaWYgKHVubGlrZWx5KHJ0ZV9tZW1wb29sX2dldF9idWxrKHFwLT5j YS5yZXFfbXAsICh2b2lkICoqKWluZmxfcmVxcywgYnVyc3QtPm5iX29wcykpKSB7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fl4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9icmFuY2hf cHJlZGljdGlvbi5oOjQzOjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICd1bmxpa2VseScK ICAgNDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAw KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10 c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0 IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NjA2OjIzOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBv cHNfYnVyc3QnCiAgNjA2IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVyc3QtPm5iX29wczsg aSsrKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3Vi bWl0KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtd LCB1aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTE6Mzk6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcK ICA2MTEgfCAgICAgICAgICAgICAgICAgcmV0ID0gY24yMGtfY3B0X2ZpbGxfaW5zdChxcCwgJmJ1 cnN0LT5vcFtpXSwgaW5zdCwgaW5mbF9yZXEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBv cHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAq dmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MTM6NDk6IGVycm9yOiBpbmNv bXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IG9wc19idXJzdCcKICA2MTMgfCAgICAg ICAgICAgICAgICAgICAgICAgICBwbHRfY3B0X2RiZygiQ291bGQgbm90IHByb2Nlc3Mgb3A6ICVw IiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMvY29tbW9u L2NueGsvcm9jX3BsYXRmb3JtLmg6MzEzOjUxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdw bHRfY3B0X2RiZycKICAzMTMgfCAjZGVmaW5lIHBsdF9jcHRfZGJnKGZtdCwgLi4uKSAgIHBsdF9k YmcoY3B0LCBmbXQsICMjX19WQV9BUkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY29t bW9uL2NueGsvcm9jX3BsYXRmb3JtLmg6MzEwOjM6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8g J3BsdF9kYmcnCiAgMzEwIHwgICAgICAgICAgICAgICAgIF9fVkFfQVJHU19fKQogICAgICB8ICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIvbG9nL3J0ZV9sb2cuaDo0NDc6Mzg6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1JURV9MT0dfTElORV9QUkVGSVgnCiAgNDQ3IHwgICAg ICAgICAgICAgYXJncyBSVEVfTE9HX0NPTU1BIFJURV9GTVRfVEFJTChfX1ZBX0FSR1NfXyAsKSkp OyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjg5ODozMjogbm90ZTog ZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRFX0ZNVF9UQUlMJwogIDg5OCB8ICNkZWZpbmUgUlRFX0ZN VF9UQUlMKGZtdCwgLi4uKSBfX1ZBX0FSR1NfXwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjg5 NjozOTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRFX0ZNVCcKICA4OTYgfCAjZGVmaW5l IFJURV9GTVQoZm10LCAuLi4pIGZtdCAiJS4wcyIsIF9fVkFfQVJHU19fICIiCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9saWIvbG9n L3J0ZV9sb2cuaDozMzQ6MzI6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1JURV9MT0cnCiAg MzM0IHwgICAgICAgICAgICAgICAgICBSVEVfTE9HVFlQRV8gIyMgdCwgIyB0ICI6ICIgX19WQV9B UkdTX18pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6NTYyOjI4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qgb3BzX2J1cnN0 JwogIDU2MiB8IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0 cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjYyNjozMTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3Qgb3BzX2J1cnN0JwogIDYyNiB8ICAgICAgICAgICAgICAgICAgICAgICAg IGlmICh2ZWNfdGJsW3ZpXS53MiAhPSBidXJzdC0+dzJbaV0pCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChz dHJ1Y3Qgb3BzX2J1cnN0ICpidXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWlu dDE2X3QgKnZlY190YmxfbGVuKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjU0OjI2OiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBvcHNfYnVyc3QnCiAgNjU0 IHwgICAgICAgICAgICAgICAgIHZlY190YmxbbGVuXS53MiA9IGJ1cnN0LT53MltpXTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi4uL2RyaXZlcnMvY3J5 cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2MjoyODogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IG9wc19idXJzdCcKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0 KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1 aW50MTZfdCAqdmVjX3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjQ6NjogZXJy b3I6IGNhbGwgdG8gdW5kZWNsYXJlZCBmdW5jdGlvbiAnQ05YS19UVF9GUk9NX1RBRyc7IElTTyBD OTkgYW5kIGxhdGVyIGRvIG5vdCBzdXBwb3J0IGltcGxpY2l0IGZ1bmN0aW9uIGRlY2xhcmF0aW9u cyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjQgfCAgICAgICAgIGlmIChD TlhLX1RUX0ZST01fVEFHKGJ1cnN0LT53cy0+Z3dfcmRhdGEpID09IFNTT19UVF9PUkRFUkVEKQog ICAgICB8ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6NjY0OjI4OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCBvcHNfYnVyc3QnCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJz dC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5+fn5+XgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo1NjI6Mjg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBv cHNfYnVyc3QnCiAgNTYyIHwgY2FfbG10c3RfdmVjX3N1Ym1pdChzdHJ1Y3Qgb3BzX2J1cnN0ICpi dXJzdCwgc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwgdWludDE2X3QgKnZlY190YmxfbGVu KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBt YW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJv cnMgZ2VuZXJhdGVkLgpbMjczNC8zNzgxXSBMaW5raW5nIHRhcmdldCBkcml2ZXJzL2xpYnJ0ZV9j cnlwdG9fY2NwLnNvLjI1LjIKWzI3MzUvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfdGxzLmMubwpbMjcz Ni8zNzgxXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhr LmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rldi5jLm8KWzI3MzcvMzc4MV0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtf Y254a19jcnlwdG9kZXZfY2FwYWJpbGl0aWVzLmMubwpbMjczOC8zNzgxXSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhr X2NyeXB0b2Rldl9kZXZhcmdzLmMubwpbMjczOS8zNzgxXSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbnhrX2NyeXB0b2Rl dl9zZWMuYy5vClsyNzQwLzM3ODFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9y dGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtfY3J5cHRvZGV2X29wcy5jLm8KWzI3 NDEvMzc4MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254 ay5hLnAvY3J5cHRvX2NueGtfY245a19jcnlwdG9kZXZfb3BzLmMubwpbMjc0Mi8zNzgxXSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9f Y254a19jbjEwa19jcnlwdG9kZXZfb3BzLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1 aWxkIEZhaWxlZCAjMTg6Ck9TOiBVQjI0MDQtNjRSVApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlw dG9fY254a19jbjIwa19jcnlwdG9kZXZfb3BzLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRl X2NyeXB0b19jbnhrLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9jcnlwdG8v Y254ayAtSS4uL2RyaXZlcnMvY3J5cHRvL2NueGsgLUlsaWIvbmV0IC1JLi4vbGliL25ldCAtSWRy aXZlcnMvZXZlbnQvY254ayAtSS4uL2RyaXZlcnMvZXZlbnQvY254ayAtSWxpYi9jcnlwdG9kZXYg LUkuLi9saWIvY3J5cHRvZGV2IC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAt SS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9l YWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5j bHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4v a2VybmVsL2xpbnV4IC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGli L2t2YXJncyAtSWxpYi9sb2cgLUkuLi9saWIvbG9nIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0 cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1JbGliL21idWYgLUkuLi9s aWIvbWJ1ZiAtSWxpYi9tZW1wb29sIC1JLi4vbGliL21lbXBvb2wgLUlsaWIvcmluZyAtSS4uL2xp Yi9yaW5nIC1JbGliL3JjdSAtSS4uL2xpYi9yY3UgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2 ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvcGNpIC1JLi4vbGli L3BjaSAtSWRyaXZlcnMvY29tbW9uL2NueGsgLUkuLi9kcml2ZXJzL2NvbW1vbi9jbnhrIC1JbGli L2V0aGRldiAtSS4uL2xpYi9ldGhkZXYgLUlsaWIvbWV0ZXIgLUkuLi9saWIvbWV0ZXIgLUlsaWIv c2VjdXJpdHkgLUkuLi9saWIvc2VjdXJpdHkgLUlsaWIvZXZlbnRkZXYgLUkuLi9saWIvZXZlbnRk ZXYgLUlsaWIvaGFzaCAtSS4uL2xpYi9oYXNoIC1JbGliL3RpbWVyIC1JLi4vbGliL3RpbWVyIC1J bGliL2RtYWRldiAtSS4uL2xpYi9kbWFkZXYgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURf RklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAt c3RkPWMxMSAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XdmxhIC1XY2FzdC1xdWFsIC1XZGVw cmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1X bWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJu cyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAt V3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tcGFja2VkLW5v dC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAt ZlBJQyAtbWFyY2g9bmF0aXZlIC1tcnRtIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9X X0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tYWRkcmVzcy1vZi1wYWNr ZWQtbWVtYmVyIC1Xbm8tdmxhIC1VTEFfSVBTRUNfREVCVUcgLVVDTlhLX0NSWVBUT0RFVl9ERUJV RyAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPXBtZC5jcnlwdG8uY254ayAtTUQgLU1RIGRyaXZl cnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY24yMGtfY3J5cHRvZGV2 X29wcy5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2Nu eGtfY24yMGtfY3J5cHRvZGV2X29wcy5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMjBrX2NyeXB0b2Rldl9vcHMuYy5vIC1jIC4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jCi4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjM0OToxOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIOKA mGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9ldl9tZGF0YV9zZXTigJkKICAzNDkgfCBjbjIwa19j cHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2ICpkZXYg X19ydGVfdW51c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6Mjg6MTogbm90ZTogcHJldmlvdXMgZGVmaW5pdGlvbiBvZiDigJhjbjIwa19jcHRfY3J5cHRv X2FkYXB0ZXJfZXZfbWRhdGFfc2V04oCZIHdpdGggdHlwZSDigJhpbnQoc3RydWN0IHJ0ZV9jcnlw dG9kZXYgKiwgdm9pZCAqLCBlbnVtIHJ0ZV9jcnlwdG9fb3BfdHlwZSwgIGVudW0gcnRlX2NyeXB0 b19vcF9zZXNzX3R5cGUsICB2b2lkICop4oCZCiAgIDI4IHwgY24yMGtfY3B0X2NyeXB0b19hZGFw dGVyX2V2X21kYXRhX3NldChzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqZGV2IF9fcnRlX3VudXNlZCwg dm9pZCAqc2VzcywKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjQ3MDozMjogZXJy b3I6IOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxp c3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNs YXJhdGlvbiBbLVdlcnJvcl0KICA0NzAgfCBjbjIwa19jcHRfdmVjX2luc3RfZmlsbChzdHJ1Y3Qg dmVjX3JlcXVlc3QgKnZlY19yZXEsIHN0cnVjdCBjcHRfaW5zdF9zICppbnN0LAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0 by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogSW4gZnVuY3Rpb24g4oCYY24yMGtfY3B0X3Zl Y19pbnN0X2ZpbGzigJk6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOjQ3NDo1MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCB2ZWNfcmVxdWVzdOKAmQogIDQ3NCB8ICAgICAgICAgc3RydWN0IGNwdF9pbmZsaWdodF9yZXEg KmluZmxfcmVxID0gdmVjX3JlcS0+cmVxOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24y MGtfY3J5cHRvZGV2X29wcy5jOjQ4NjozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCB2ZWNfcmVxdWVzdOKAmQogIDQ4NiB8ICAgICAgICAgaW5mbF9yZXEt PnZlYyA9IHZlY19yZXEtPnZlYzsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NDk0OjMx OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZlY19yZXF1 ZXN04oCZCiAgNDk0IHwgICAgICAgICBpbnN0LT53Mi51NjQgPSB2ZWNfcmVxLT53MjsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6NDE6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBp bmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgdmVjX3JlcXVlc3TigJkKICA1MTAgfCBj bjIwa19jcHRfdmVjX3N1Ym1pdChzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZf dCB2ZWNfdGJsX2xlbiwgc3RydWN0IGNueGtfY3B0X3FwICpxcCkKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1MTA6Mjk6IGVycm9yOiDigJhzdHJ1Y3QgdmVjX3Jl cXVlc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAg NTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1ZXN0IHZlY190YmxbXSwg dWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAqcXApCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhjbjIwa19jcHRfdmVjX3N1 Ym1pdOKAmToKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTEw OjQxOiBlcnJvcjogdW51c2VkIHBhcmFtZXRlciDigJh2ZWNfdGJs4oCZIFstV2Vycm9yPXVudXNl ZC1wYXJhbWV0ZXJdCiAgNTEwIHwgY24yMGtfY3B0X3ZlY19zdWJtaXQoc3RydWN0IHZlY19yZXF1 ZXN0IHZlY190YmxbXSwgdWludDE2X3QgdmVjX3RibF9sZW4sIHN0cnVjdCBjbnhrX2NwdF9xcCAq cXApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+ fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzogQXQgdG9w IGxldmVsOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1NjI6 NjU6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1 Y3QgdmVjX3JlcXVlc3TigJkKICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNf YnVyc3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVj X3RibF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9j bjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjUzOiBlcnJvcjog4oCYc3RydWN0IHZlY19yZXF1ZXN0 4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91 dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIDU2MiB8 IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNf cmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4K Li4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NTYyOjI4OiBlcnJv cjog4oCYc3RydWN0IG9wc19idXJzdOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qg d2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJh dGlvbiBbLVdlcnJvcl0KICA1NjIgfCBjYV9sbXRzdF92ZWNfc3VibWl0KHN0cnVjdCBvcHNfYnVy c3QgKmJ1cnN0LCBzdHJ1Y3QgdmVjX3JlcXVlc3QgdmVjX3RibFtdLCB1aW50MTZfdCAqdmVjX3Ri bF9sZW4pCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2Ry aXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBJbiBmdW5jdGlvbiDigJhj YV9sbXRzdF92ZWNfc3VibWl04oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo1NzU6MTk6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNTc1IHwgICAgICAgICBxcCA9IGJ1cnN0LT5xcDsKICAg ICAgfCAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9kZWJ1Zy5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9iaXRvcHMuaDoyMywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9l YWwvaW5jbHVkZS9ydGVfbWVtb3J5Lmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIv ZWFsL2luY2x1ZGUvcnRlX21hbGxvYy5oOjE2LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGli L2NyeXB0b2Rldi9jcnlwdG9kZXZfcG1kLmg6MjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo1OgouLi9kcml2ZXJzL2Ny eXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2MDE6ODM6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNjAxIHwgICAgICAg ICBpZiAodW5saWtlbHkocnRlX21lbXBvb2xfZ2V0X2J1bGsocXAtPmNhLnJlcV9tcCwgKHZvaWQg KiopaW5mbF9yZXFzLCBidXJzdC0+bmJfb3BzKSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjQz OjQ1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAgIDQzIHwg I2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjA2OjMwOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYwNiB8ICAg ICAgICAgZm9yIChpID0gMDsgaSA8IGJ1cnN0LT5uYl9vcHM7IGkrKykgewogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NjExOjUzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDYxMSB8ICAgICAgICAgICAgICAgICByZXQgPSBj bjIwa19jcHRfZmlsbF9pbnN0KHFwLCAmYnVyc3QtPm9wW2ldLCBpbnN0LCBpbmZsX3JlcSk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Rldi5oOjIw LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2VhbC9pbmNsdWRlL2Rldl9kcml2ZXIuaDo5 LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2NyeXB0b2Rldi9jcnlwdG9kZXZfcG1kLmg6 MTg6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjYxMzo3MDog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3Ti gJkKICA2MTMgfCAgICAgICAgICAgICAgICAgICAgICAgICBwbHRfY3B0X2RiZygiQ291bGQgbm90 IHByb2Nlc3Mgb3A6ICVwIiwgYnVyc3QtPm9wW2ldKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgou Li9saWIvbG9nL3J0ZV9sb2cuaDozMzQ6NDY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYUlRFX0xPR+KAmQogIDMzNCB8ICAgICAgICAgICAgICAgICAgUlRFX0xPR1RZUEVfICMjIHQs ICMgdCAiOiAiIF9fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ0Njoy Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9GTVTigJkKICA0NDYgfCAgICAg ICAgIFJURV9MT0cobCwgdCwgUlRFX0ZNVChwcmVmaXggUlRFX0ZNVF9IRUFEKF9fVkFfQVJHU19f ICwpICJcbiIsIFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgouLi9saWIv bG9nL3J0ZV9sb2cuaDo0NDc6MzI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVf Rk1UX1RBSUzigJkKICA0NDcgfCAgICAgICAgICAgICBhcmdzIFJURV9MT0dfQ09NTUEgUlRFX0ZN VF9UQUlMKF9fVkFfQVJHU19fICwpKSk7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY29tbW9uL2NueGsvcm9jX3BsYXRmb3Jt Lmg6MzA5Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfTE9HX0xJTkVfUFJF RklY4oCZCiAgMzA5IHwgICAgICAgICBSVEVfTE9HX0xJTkVfUFJFRklYKERFQlVHLCBzdWJzeXN0 ZW0sICIlcygpOiV1ICIsIF9fZnVuY19fIFJURV9MT0dfQ09NTUEgX19MSU5FX18sIFwKICAgICAg fCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21tb24vY254ay9yb2Nf cGxhdGZvcm0uaDozMTM6MzM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhwbHRfZGJn 4oCZCiAgMzEzIHwgI2RlZmluZSBwbHRfY3B0X2RiZyhmbXQsIC4uLikgICBwbHRfZGJnKGNwdCwg Zm10LCAjI19fVkFfQVJHU19fKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2 MTM6MjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhwbHRfY3B0X2RiZ+KAmQogIDYx MyB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9jcHRfZGJnKCJDb3VsZCBub3QgcHJvY2Vz cyBvcDogJXAiLCBidXJzdC0+b3BbaV0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjYyNjo1MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBv cHNfYnVyc3TigJkKICA2MjYgfCAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmVjX3RibFt2 aV0udzIgIT0gYnVyc3QtPncyW2ldKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjY1NDo0MDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2NTQgfCAgICAgICAgICAgICAgICAgdmVjX3Ri bFtsZW5dLncyID0gYnVyc3QtPncyW2ldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2 X29wcy5jOjY2NDoxMzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKA mENOWEtfVFRfRlJPTV9UQUfigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp b25dCiAgNjY0IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3Jk YXRhKSA9PSBTU09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDoxMzog ZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYQ05YS19UVF9GUk9NX1RBR+KA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19j cnlwdG9kZXZfb3BzLmM6NjY0OjM1OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY2NCB8ICAgICAgICAgaWYgKENOWEtfVFRfRlJP TV9UQUcoYnVyc3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVSRUQpCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NDo1NDogZXJyb3I6IOKAmFNTT19UVF9PUkRFUkVE4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDY2NCB8ICAgICAgICAg aWYgKENOWEtfVFRfRlJPTV9UQUcoYnVyc3QtPndzLT5nd19yZGF0YSkgPT0gU1NPX1RUX09SREVS RUQpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0 b2Rldl9vcHMuYzo2NjQ6NTQ6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY2NToxNzogZXJyb3I6IGltcGxp Y2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJvY19zc29faHdzX2hlYWRfd2FpdOKAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICA2NjUgfCAgICAgICAgICAg ICAgICAgcm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhr L2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo2NjU6MTc6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xh cmF0aW9uIG9mIOKAmHJvY19zc29faHdzX2hlYWRfd2FpdOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0 ZXJuc10KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NjY1OjQ0 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19idXJz dOKAmQogIDY2NSB8ICAgICAgICAgICAgICAgICByb2Nfc3NvX2h3c19oZWFkX3dhaXQoYnVyc3Qt PndzLT5iYXNlKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Njc0 OjIzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDY3NCB8ICAgICAgICAgaWYgKGkgIT0gYnVyc3QtPm5iX29wcykKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6Njc1OjgxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg 4oCYc3RydWN0IG9wc19idXJzdOKAmQogIDY3NSB8ICAgICAgICAgICAgICAgICBydGVfbWVtcG9v bF9wdXRfYnVsayhxcC0+Y2EucmVxX21wLCAodm9pZCAqKSZpbmZsX3JlcXNbaV0sIGJ1cnN0LT5u Yl9vcHMgLSBpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjU2Mjo2NTogZXJyb3I6IHVudXNlZCBw YXJhbWV0ZXIg4oCYdmVjX3RibOKAmSBbLVdlcnJvcj11bnVzZWQtcGFyYW1ldGVyXQogIDU2MiB8 IGNhX2xtdHN0X3ZlY19zdWJtaXQoc3RydWN0IG9wc19idXJzdCAqYnVyc3QsIHN0cnVjdCB2ZWNf cmVxdWVzdCB2ZWNfdGJsW10sIHVpbnQxNl90ICp2ZWNfdGJsX2xlbikKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+ Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjY4MzozMDogZXJyb3I6IOKAmHN0cnVjdCBvcHNfYnVyc3TigJkgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgNjgzIHwgY2FfbG10c3RfYnVyc3Rfc3VibWl0 KHN0cnVjdCBvcHNfYnVyc3QgKmJ1cnN0KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29w cy5jOiBJbiBmdW5jdGlvbiDigJhjYV9sbXRzdF9idXJzdF9zdWJtaXTigJk6Ci4uL2RyaXZlcnMv Y3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjY5NToxOTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA2OTUgfCAgICAg ICAgIHFwID0gYnVyc3QtPnFwOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZl cnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjcxMzo4MzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3MTMgfCAg ICAgICAgIGlmICh1bmxpa2VseShydGVfbWVtcG9vbF9nZXRfYnVsayhxcC0+Y2EucmVxX21wLCAo dm9pZCAqKilpbmZsX3JlcXMsIGJ1cnN0LT5uYl9vcHMpKSkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9u Lmg6NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAg NDMgfCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MTg6MzA6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzE4 IHwgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYnVyc3QtPm5iX29wczsgaSsrKSB7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2Nu MjBrX2NyeXB0b2Rldl9vcHMuYzo3MjM6NTM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzIzIHwgICAgICAgICAgICAgICAgIHJl dCA9IGNuMjBrX2NwdF9maWxsX2luc3QocXAsICZidXJzdC0+b3BbaV0sIGluc3QsIGluZmxfcmVx KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1 OjY5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IG9wc19i dXJzdOKAmQogIDcyNSB8ICAgICAgICAgICAgICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNvdWxk IG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9saWIvbG9nL3J0ZV9sb2cuaDozNTk6NDY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYUlRFX0xPR19EUOKAmQogIDM1OSB8ICAgICAgICAgICAgICAgICAgUlRFX0xPR1RZUEVf ICMjIHQsICMgdCAiOiAiIF9fVkFfQVJHU19fKSA6ICAgICBcCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4KLi4vbGliL2xvZy9y dGVfbG9nLmg6NDc1OjI2OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0ZNVOKA mQogIDQ3NSB8ICAgICAgICAgUlRFX0xPR19EUChsLCB0LCBSVEVfRk1UKHByZWZpeCBSVEVfRk1U X0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+Ci4uL2xpYi9sb2cvcnRlX2xvZy5oOjQ3NjozMjogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9GTVRfVEFJTOKAmQogIDQ3NiB8ICAgICAgICAgICAgIGFyZ3Mg UlRFX0xPR19DT01NQSBSVEVfRk1UX1RBSUwoX19WQV9BUkdTX18gLCkpKTsgXAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jb21t b24vY254ay9yb2NfcGxhdGZvcm0uaDozMzU6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmFJURV9MT0dfRFBfTElORV9QUkVGSVjigJkKICAzMzUgfCAgICAgICAgIFJURV9MT0dfRFBf TElORV9QUkVGSVgoREVCVUcsIENOWEssICIlcygpOiV1ICIsIF9fZnVuY19fIFJURV9MT0dfQ09N TUEgX19MSU5FX18sIFwKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzI1OjI1OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYcGx0X2RwX2RiZ+KAmQogIDcyNSB8ICAgICAgICAgICAg ICAgICAgICAgICAgIHBsdF9kcF9kYmcoIkNvdWxkIG5vdCBwcm9jZXNzIG9wOiAlcCIsIGJ1cnN0 LT5vcFtpXSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fgouLi9k cml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3MzY6Mzc6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzM2 IHwgICAgICAgICAgICAgICAgIGluc3QtPncyLnU2NCA9IGJ1cnN0LT53MltpXTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2NyeXB0by9j bnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NTQ6MzU6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzU0IHwgICAgICAgICBpZiAo Q05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBTU09fVFRfT1JERVJFRCkK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9j cnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6NzU0OjU0OiBlcnJvcjog4oCYU1NPX1RU X09SREVSRUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNzU0 IHwgICAgICAgICBpZiAoQ05YS19UVF9GUk9NX1RBRyhidXJzdC0+d3MtPmd3X3JkYXRhKSA9PSBT U09fVFRfT1JERVJFRCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsv Y24yMGtfY3J5cHRvZGV2X29wcy5jOjc1NTo0NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NTUgfCAgICAgICAgICAgICAgICAg cm9jX3Nzb19od3NfaGVhZF93YWl0KGJ1cnN0LT53cy0+YmFzZSk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvY3J5cHRvL2Nu eGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOjc2MDozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBvcHNfYnVyc3TigJkKICA3NjAgfCAgICAgICAgIGlmICh1 bmxpa2VseShpICE9IGJ1cnN0LT5uYl9vcHMpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6 NDM6NDU6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAgNDMg fCAjZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NjE6ODE6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qgb3BzX2J1cnN04oCZCiAgNzYxIHwg ICAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX3B1dF9idWxrKHFwLT5jYS5yZXFfbXAsICh2b2lk ICopJmluZmxfcmVxc1tpXSwgYnVyc3QtPm5iX29wcyAtIGkpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3Bz LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZf b3BzLmM6NzY3OjE6IGVycm9yOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yIOKAmGNuMjBrX2Nw dF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl4oCZIFstV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10K ICA3NjcgfCBjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZW5xdWV1ZSh2b2lkICp3cywgc3RydWN0 IHJ0ZV9ldmVudCBldltdLCB1aW50MTZfdCBuYl9ldmVudHMpCiAgICAgIHwgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9k ZXZfb3BzLmM6IEluIGZ1bmN0aW9uIOKAmGNuMjBrX2NwdF9jcnlwdG9fYWRhcHRlcl9lbnF1ZXVl 4oCZOgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzA6Mjg6 IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3Qg dmVjX3JlcXVlc3TigJkKICA3NzAgfCAgICAgICAgIHN0cnVjdCB2ZWNfcmVxdWVzdCB2ZWNfdGJs W25iX2V2ZW50c107CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgou Li9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVycm9y OiBzdG9yYWdlIHNpemUgb2Yg4oCYYnVyc3TigJkgaXNu4oCZdCBrbm93bgogIDc3MiB8ICAgICAg ICAgc3RydWN0IG9wc19idXJzdCBidXJzdDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlwdG9kZXZfb3BzLmM6Nzk1 Ojc3OiBlcnJvcjogdHlwZSBvZiBmb3JtYWwgcGFyYW1ldGVyIDIgaXMgaW5jb21wbGV0ZQogIDc5 NSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhX2xt dHN0X3ZlY19zdWJtaXQoJmJ1cnN0LCB2ZWNfdGJsLCAmdmVjX3RibF9sZW4pOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5 cHRvZGV2X29wcy5jOjgwMTo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAxIGlz IGluY29tcGxldGUKICA4MDEgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY24yMGtfY3B0X3ZlY19zdWJtaXQodmVjX3RibCwgdmVjX3RibF9sZW4sIGJ1cnN0LnFwKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rl dl9vcHMuYzo4MjA6NzM6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMiBpcyBpbmNv bXBsZXRlCiAgODIwIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJtaXR0ZWQg PSBjYV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtf Y3J5cHRvZGV2X29wcy5jOjgzMjo2MjogZXJyb3I6IHR5cGUgb2YgZm9ybWFsIHBhcmFtZXRlciAy IGlzIGluY29tcGxldGUKICA4MzIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCArPSBj YV9sbXRzdF92ZWNfc3VibWl0KCZidXJzdCwgdmVjX3RibCwgJnZlY190YmxfbGVuKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMu Yzo4Mzg6MzA6IGVycm9yOiB0eXBlIG9mIGZvcm1hbCBwYXJhbWV0ZXIgMSBpcyBpbmNvbXBsZXRl CiAgODM4IHwgICAgICAgICBjbjIwa19jcHRfdmVjX3N1Ym1pdCh2ZWNfdGJsLCB2ZWNfdGJsX2xl biwgYnVyc3QucXApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fgouLi9kcml2ZXJzL2NyeXB0by9jbnhrL2NuMjBrX2NyeXB0b2Rldl9vcHMuYzo3NzI6MjY6IGVy cm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYYnVyc3TigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxl XQogIDc3MiB8ICAgICAgICAgc3RydWN0IG9wc19idXJzdCBidXJzdDsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn4KLi4vZHJpdmVycy9jcnlwdG8vY254ay9jbjIwa19jcnlw dG9kZXZfb3BzLmM6NzcwOjI4OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHZlY190YmzigJkg Wy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIDc3MCB8ICAgICAgICAgc3RydWN0IHZlY19yZXF1 ZXN0IHZlY190YmxbbmJfZXZlbnRzXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvY3J5cHRvL2NueGsvY24yMGtfY3J5cHRvZGV2X29wcy5j OjI4OjE6IGVycm9yOiDigJhjbjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V04oCZ IGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KICAgMjggfCBj bjIwa19jcHRfY3J5cHRvX2FkYXB0ZXJfZXZfbWRhdGFfc2V0KHN0cnVjdCBydGVfY3J5cHRvZGV2 ICpkZXYgX19ydGVfdW51c2VkLCB2b2lkICpzZXNzLAogICAgICB8IF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBl cnJvcnMKWzI3MTgvMzc2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9j cnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlwdG9kZXYuYy5vClsyNzE5LzM3NjVd IENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2Ny eXB0b19jbnhrX2NuMjBrX3Rscy5jLm8KWzI3MjAvMzc2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY2NwLmEucC9jcnlwdG9fY2NwX2NjcF9jcnlwdG8uYy5v ClsyNzIxLzM3NjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NhYW1fanIuYS5wL2NyeXB0b19jYWFtX2pyX2NhYW1fanIuYy5vClsyNzIyLzM3NjVdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19j bnhrX2NueGtfY3J5cHRvZGV2X2RldmFyZ3MuYy5vClsyNzIzLzM3NjVdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRvX2NueGsuYS5wL2NyeXB0b19jbnhrX2NueGtf Y3J5cHRvZGV2X2NhcGFiaWxpdGllcy5jLm8KWzI3MjQvMzc2NV0gQ29tcGlsaW5nIEMgb2JqZWN0 IGRyaXZlcnMvbGlidG1wX3J0ZV9jcnlwdG9fY254ay5hLnAvY3J5cHRvX2NueGtfY254a19jcnlw dG9kZXZfb3BzLmMubwpbMjcyNS8zNzY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX2NyeXB0b19jbnhrLmEucC9jcnlwdG9fY254a19jbjlrX2NyeXB0b2Rldl9vcHMuYy5v ClsyNzI2LzM3NjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfY3J5cHRv X2NueGsuYS5wL2NyeXB0b19jbnhrX2NuMTBrX2NyeXB0b2Rldl9vcHMuYy5vCm5pbmphOiBidWls ZCBzdG9wcGVkCgoKRFBESyBTVFYgdGVhbQo= --===============7846271702588771091==--