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 6BABEA0524 for ; Thu, 6 May 2021 10:38:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 351DC410DB; Thu, 6 May 2021 10:38:47 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mails.dpdk.org (Postfix) with ESMTP id C71CF40040 for ; Thu, 6 May 2021 10:38:44 +0200 (CEST) IronPort-SDR: b+u54C9MxcX72xehxGKuSSB2y3acMNB7bNAPm8baJM80jpH5Tq9f13axW98A3+klmOIMQEPq9h Ql+vWktMJjAQ== X-IronPort-AV: E=McAfee;i="6200,9189,9975"; a="219293136" X-IronPort-AV: E=Sophos;i="5.82,277,1613462400"; d="scan'208";a="219293136" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2021 01:38:43 -0700 Message-Id: Date: 06 May 2021 01:38:23 -0700 IronPort-SDR: CKstoHyMIUTKgJwd/G/JcbRKiAMAJ9AUuHIZwecYPO911E+MqlCyYJ2+AtagYfuOAFqKlUr/tX HKSVyAOzigaw== X-IronPort-AV: E=Sophos;i="5.82,277,1613462400"; d="scan'208";a="622377218" Received: from unknown (HELO localhost.localdomain) ([10.240.183.251]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 May 2021 01:38:23 -0700 Content-Type: multipart/alternative; boundary="===============8035751592492294252==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: Subject: [dpdk-test-report] |FAILURE| pw(92873) [v2, 22/22] net/ena: update version to v2.3.0 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 Sender: "test-report" --===============8035751592492294252== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 ClRlc3QtTGFiZWw6IEludGVsLWNvbXBpbGF0aW9uClRlc3QtU3RhdHVzOiBGQUlMVVJFCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC85Mjg3MwoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog TWljaGFsIEtyYXdjenlrIDxta0BzZW1paGFsZi5jb20+CkRhdGU6IDIwMjEtMDUtMDUgMDc6MzM6 NDgKUmVwbHlfbWFpbDogMjAyMTA1MDUwNzMzNDguNjM5NC0yMy1ta0BzZW1paGFsZi5jb20KCkRQ REsgZ2l0IGJhc2VsaW5lOiBSZXBvOmRwZGstbmV4dC1uZXQsIENvbW1pdElEOiA4YjFlNmQ5ZWIy NWNiZDg2YTBhZDliOTkwZWFmNTk4ZGM5ZjVhMTVhCgoKTWVzb24gQnVpbGQgU3VtbWFyeTogMjIg QnVpbGRzIERvbmUsIDIwIFN1Y2Nlc3NmdWwsIDIgRmFpbHVyZXMsIDAgQmxvY2tlZAoKKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKwp8IG9zICAgICAgICAgICAgICAgfCBn Y2Mtc3RhdGljIHwgY2xhbmctc3RhdGljIHwgaWNjLXN0YXRpYyB8IGdjYy1zaGFyZWQgfCBnY2Mt ZGVidWcgfCBkb2N1bWVudCB8CistLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSsKfCBVQjIwMDQtNjQgICAgICAgIHwgcGFzcyAgICAgICB8IHBhc3MgICAgICAgICB8IHBhc3Mg ICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgcGFzcyAgICAgfAp8IFJIRUw4My02NCAg ICAgICAgfCBwYXNzICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8CnwgRkMzMy02NCAgICAgICAgICB8IHBhc3MgICAg ICAgfCBwYXNzICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8 ICAgICAgICAgIHwKfCBDZW50T3NTdHJlYW04LTY0IHwgcGFzcyAgICAgICB8ICAgICAgICAgICAg ICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfAp8IFVC MjEwNC02NCAgICAgICAgfCBwYXNzICAgICAgIHwgICAgICAgICAgICAgIHwgICAgICAgICAgICB8 ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8CnwgV0lOMTAtNjQgICAgICAgICB8 ICAgICAgICAgICAgfCBwYXNzICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwKfCBVQjIwMDQtMzIgICAgICAgIHwgcGFzcyAgICAgICB8ICAg ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfAp8IENFTlRPUzgzLTY0ICAgICAgfCBwYXNzICAgICAgIHwgcGFzcyAgICAgICAgIHwgcGFz cyAgICAgICB8IHBhc3MgICAgICAgfCBGQUlMICAgICAgfCAgICAgICAgICB8CnwgRnJlZUJTRDEy MDEtNjQgICB8IHBhc3MgICAgICAgfCBwYXNzICAgICAgICAgfCAgICAgICAgICAgIHwgcGFzcyAg ICAgICB8IEZBSUwgICAgICB8ICAgICAgICAgIHwKfCBTVVNFMTUtNjQgICAgICAgIHwgcGFzcyAg ICAgICB8IHBhc3MgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rClRl c3QgZW52aXJvbm1lbnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6CgoKT1M6IFVCMjAwNC02 NAoJS2VybmVsIFZlcnNpb246IDUuOC4wLTQ4LWdlbmVyaWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVi dW50dSAxMC4yLjAtNXVidW50dTF+MjAuMDQpIDEwLjIuMAoJQ2xhbmcgVmVyc2lvbjogMTAuMC4w LTR1YnVudHUxCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKCXg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZG9jCgpPUzogUkhFTDgzLTY0CglLZXJuZWwgVmVyc2lvbjogNC4xOC4wLTI0MC5lbDgu eDg2XzY0CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDguMy4xIDIwMTkxMTIxIChSZWQgSGF0IDgu My4xLTUpCglDbGFuZyBWZXJzaW9uOiAxMC4wLjEgKFJlZCBIYXQgMTAuMC4xLTEubW9kdWxlK2Vs OC4zLjArNzQ1OSs5MGMyNDg5NikKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogRkMz My02NAoJS2VybmVsIFZlcnNpb246IDUuOC4xNi0zMDAuZmMzMy54ODZfNjQKCUdDQyBWZXJzaW9u OiBnY2MgKEdDQykgMTAuMi4xIDIwMjAxMDA1IChSZWQgSGF0IDEwLjIuMS01KQoJQ2xhbmcgVmVy c2lvbjogMTEuMC4wIChGZWRvcmEgMTEuMC4wLTEuZmMzMykKCXg4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgpPUzogQ2VudE9zU3RyZWFtOC02 NAoJS2VybmVsIFZlcnNpb246IDQuMTguMC0yNTcuZWw4Lng4Nl82NAoJR0NDIFZlcnNpb246IGdj YyAoR0NDKSA4LjQuMSAyMDIwMDkyOCAoUmVkIEhhdCA4LjQuMS0xKQoJQ2xhbmcgVmVyc2lvbjog MTEuMC4wIChSZWQgSGF0IDExLjAuMC0wLjIucmMyLm1vZHVsZV9lbDguNC4wKzUzMys1MDE5MTU3 NykKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMTA0LTY0CglLZXJuZWwgVmVy c2lvbjogNS4xMS4wLTE2LWdlbmVyaWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSAxMC4zLjAt MXVidW50dTEpIDEwLjMuMAoJQ2xhbmcgVmVyc2lvbjogMTIuMC4wLTF1YnVudHUxCgl4ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYwoKT1M6IFdJTjEwLTY0CglLZXJuZWwgVmVyc2lvbjogTi9BCglH Q0MgVmVyc2lvbjogTi9BCglDbGFuZyBWZXJzaW9uOiBDbGFuZyA4LjAuMAoJeDg2XzY0LXdpbmRv d3MtY2xhbmcKCk9TOiBVQjIwMDQtMzIKCUtlcm5lbCBWZXJzaW9uOiA1LjguMC00OC1nZW5lcmlj CglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgMTAuMi4wLTV1YnVudHUxfjIwLjA0KSAxMC4yLjAK CUNsYW5nIFZlcnNpb246IDEwLjAuMC00dWJ1bnR1MQoJaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2Nj CgpPUzogQ0VOVE9TODMtNjQKCUtlcm5lbCBWZXJzaW9uOiA0LjE4LjAtMjQwLjEuMS5lbDhfMy54 ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgOC4zLjEgMjAxOTExMjEgKFJlZCBIYXQgOC4z LjEtNSkKCUNsYW5nIFZlcnNpb246IDEwLjAuMSAoUmVkIEhhdCAxMC4wLjEtMS5tb2R1bGVfZWw4 LjMuMCs0NjcrY2IyOThkNWIpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5h dGl2ZS1saW51eGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKCXg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjK3NoYXJlZAoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MrZGVi dWcKCk9TOiBGcmVlQlNEMTIwMS02NAoJS2VybmVsIFZlcnNpb246IDEyLjEtUkVMRUFTRQoJR0ND IFZlcnNpb246IGdjYyAoRnJlZUJTRCBQb3J0cyBDb2xsZWN0aW9uKSA5LjIuMAoJQ2xhbmcgVmVy c2lvbjogOC4wLjEgKHRhZ3MvUkVMRUFTRV84MDEvZmluYWwgMzY2NTgxKSAoYmFzZWQgb24gTExW TSA4LjAuMSkKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAt Y2xhbmcKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytzaGFyZWQKCXg4Nl82NC1uYXRpdmUtYnNk YXBwLWdjYytkZWJ1ZwoKT1M6IFNVU0UxNS02NAoJS2VybmVsIFZlcnNpb246IDUuMy4xOC1scDE1 Mi41Ny1kZWZhdWx0CglHQ0MgVmVyc2lvbjogZ2NjIChTVVNFIExpbnV4KSA3LjUuMAoJQ2xhbmcg VmVyc2lvbjogOS4wLjEKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKCXg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjCgoKCipCdWlsZCBGYWlsZWQgIzE6Ck9TOiBDRU5UT1M4My02NApUYXJn ZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK2RlYnVnCkZBSUxFRDogZHJpdmVycy9saWJ0 bXBfcnRlX25ldF9lbmEuYS5wL25ldF9lbmFfYmFzZV9lbmFfY29tLmMubyAKZ2NjIC1JZHJpdmVy cy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJz L25ldC9lbmEgLUkuLi9kcml2ZXJzL25ldC9lbmEgLUkuLi9kcml2ZXJzL25ldC9lbmEvYmFzZSAt SS4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9kZWZzIC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUku Li9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9s aWJydGVfZWFsL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0 ZV9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2luY2x1ZGUgLUls aWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRl IC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGli L2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4v bGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21l dHJpY3MgLUlsaWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1J bGliL2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4u L2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVt cG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVf bWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVy cy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUku Li9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2 IC1JbGliL2xpYnJ0ZV90aW1lciAtSS4uL2xpYi9saWJydGVfdGltZXIgLWZkaWFnbm9zdGljcy1j b2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQt cGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1x dWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNl Y3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0 ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24t Y29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8t cGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05V X1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFM TE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1NRCAtTVEgZHJpdmVycy9s aWJ0bXBfcnRlX25ldF9lbmEuYS5wL25ldF9lbmFfYmFzZV9lbmFfY29tLmMubyAtTUYgZHJpdmVy cy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wL25ldF9lbmFfYmFzZV9lbmFfY29tLmMuby5kIC1vIGRy aXZlcnMvbGlidG1wX3J0ZV9uZXRfZW5hLmEucC9uZXRfZW5hX2Jhc2VfZW5hX2NvbS5jLm8gLWMg Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfcGxhdC5oOjE1LAogICAgICAgICAgICAgICAgIGZy b20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5oOjksCiAgICAgICAgICAgICAgICAg ZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NjoKLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjY4OjI0OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmll ciBvciDigJgo4oCZIGJlZm9yZSDigJh2b2lk4oCZCiAjZGVmaW5lIEVOQV9UT1VDSCh4KSAoKHZv aWQpKHgpKQogICAgICAgICAgICAgICAgICAgICAgICBefn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9wbGF0X2RwZGsuaDoxMTQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mEVOQV9UT1VDSOKAmQogICBFTkFfVE9VQ0goZGV2KSwgICAgICAgICAgICAgXAogICBefn5+fn5+ fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjY4OjI5OiBlcnJvcjog ZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCYKOKAmSB0b2tlbgogI2RlZmluZSBFTkFfVE9VQ0go eCkgKCh2b2lkKSh4KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxMTQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmEVOQV9UT1VDSOKAmQogICBFTkFfVE9VQ0goZGV2KSwgICAgICAgICAgICAgXAog ICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjExNToy MDogZXJyb3I6IHN0cmF5IOKAmCMj4oCZIGluIHByb2dyYW0KICAgcnRlX2xvZyhSVEVfTE9HXyAj IyBsZXZlbCwgZW5hX2xvZ3R5cGVfY29tLCAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfcGxhdF9kcGRrLmg6MTE2OjM1OiBlcnJvcjog c3RyYXkg4oCYIyPigJkgaW4gcHJvZ3JhbQogICAgIltFTkFfQ09NOiAlc10iIGZtdCwgX19mdW5j X18sICMjYXJnKSkgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1MjozOiBlcnJvcjog ZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiB9 IGVuYV93YWl0X2V2ZW50X3Q7CiAgIF5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1MjozOiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byDigJhp bnTigJkgaW4gZGVjbGFyYXRpb24gb2Yg4oCYZW5hX3dhaXRfZXZlbnRfdOKAmSBbLVdlcnJvcj1p bXBsaWNpdC1pbnRdCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1MzoyOiBlcnJv cjogZXhwZWN0ZWQgc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSDigJhlbmFfd2FpdF9l dmVudF904oCZCiAgZW5hX3dhaXRfZXZlbnRfdCB3YWl0X2V2ZW50OwogIF5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiDigJhlbmFf Y29tX21lbV9hZGRyX3NldOKAmToKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjcz Ojc5OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICBl bmFfdHJjX2VycihlbmFfZGV2LCAiRE1BIGFkZHJlc3MgaGFzIG1vcmUgYml0cyB0aGFuIHRoZSBk ZXZpY2Ugc3VwcG9ydHNcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6NzQ6MjQ6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9y ZSDigJh94oCZIHRva2VuCiAgIHJldHVybiBFTkFfQ09NX0lOVkFMOwogICAgICAgICAgICAgICAg ICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgIDsKICB9CiAgfiAgICAgICAgICAgICAg ICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiDi gJhlbmFfY29tX2FkbWluX2luaXRfc3HigJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uYzo5Mzo1MzogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9r ZW4KICAgZW5hX3RyY19lcnIoZW5hX2RldiwgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6OTQ6MjU6IGVycm9yOiBleHBlY3RlZCDi gJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgIHJldHVybiBFTkFfQ09NX05PX01FTTsKICAg ICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgIDsKICB9CiAg fiAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u Yzo4NToyMjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhlbmFfZGV24oCZIFstV2Vycm9yPXVu dXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYgPSBhZG1pbl9xdWV1 ZS0+ZW5hX2RldjsKICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiDigJhlbmFfY29tX2FkbWluX2luaXRfY3Hi gJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMTY6NTM6IGVycm9yOiBleHBl Y3RlZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgIGVuYV90cmNfZXJyKGVuYV9k ZXYsICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjExNzoyNTogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkg dG9rZW4KICAgcmV0dXJuIEVOQV9DT01fTk9fTUVNOwogICAgICAgICAgICAgICAgICAgICAgICAg XgogICAgICAgICAgICAgICAgICAgICAgICAgOwogIH0KICB+ICAgICAgICAgICAgICAgICAgICAg ICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEwODoyMjogZXJyb3I6IHVudXNl ZCB2YXJpYWJsZSDigJhlbmFfZGV24oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1 Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYgPSBhZG1pbl9xdWV1ZS0+ZW5hX2RldjsKICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJ biBmdW5jdGlvbiDigJhlbmFfY29tX2FkbWluX2luaXRfYWVuceKAmToKLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOjE0MTo1MzogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVm b3JlIOKAmDvigJkgdG9rZW4KICAgZW5hX3RyY19lcnIoZW5hX2RldiwgIk1lbW9yeSBhbGxvY2F0 aW9uIGZhaWxlZFxuIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTQyOjI1OiBl cnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogICByZXR1cm4gRU5B X0NPTV9OT19NRU07CiAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAg ICAgICAgICA7CiAgfQogIH4gICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9l bmEvYmFzZS9lbmFfY29tLmM6MTYyOjU4OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZv cmUg4oCYO+KAmSB0b2tlbgogICBlbmFfdHJjX2VycihlbmFfZGV2LCAiQUVOUSBoYW5kbGVycyBw b2ludGVyIGlzIE5VTExcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 MTYzOjI0OiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogICBy ZXR1cm4gRU5BX0NPTV9JTlZBTDsKICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAg ICAgICAgICAgICAgICA7CiAgfQogIH4gICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24g4oCYY29tcF9jdHh0X3JlbGVhc2Xi gJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxNzQ6MTA6IGVycm9yOiDigJhz dHJ1Y3QgZW5hX2NvbXBfY3R44oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYb2NjdXBpZWTigJkK ICBjb21wX2N0eC0+b2NjdXBpZWQgPSBmYWxzZTsKICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24g4oCYZ2V0X2NvbXBfY3R4dOKAmToKLi4v ZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjE4NDo0MTogZXJyb3I6IGV4cGVjdGVkIGV4 cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgICAgICBjb21tYW5kX2lkLCBhZG1pbl9x dWV1ZS0+cV9kZXB0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTg1OjE1OiBlcnJvcjogZXhwZWN0 ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogICByZXR1cm4gTlVMTDsKICAgICAgICAg ICAgICAgXgogICAgICAgICAgICAgICA7CiAgfQogIH4gICAgICAgICAgICAgCi4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxOTA6Mzk6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9u IGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAgICAgIkNvbXBsZXRpb24gY29udGV4dCBpcyBOVUxM XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTkxOjE1OiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBi ZWZvcmUg4oCYfeKAmSB0b2tlbgogICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgICAgXgogICAg ICAgICAgICAgICA7CiAgfQogIH4gICAgICAgICAgICAgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfcGxhdF9kcGRrLmg6MTgsCiAgICAgICAgICAgICAg ICAgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfcGxhdC5oOjE1LAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5oOjksCiAgICAgICAg ICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NjoKLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjE5NDo0ODogZXJyb3I6IOKAmHN0cnVjdCBlbmFf Y29tcF9jdHjigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhvY2N1cGllZOKAmQogIGlmICh1bmxp a2VseShhZG1pbl9xdWV1ZS0+Y29tcF9jdHhbY29tbWFuZF9pZF0ub2NjdXBpZWQgJiYgY2FwdHVy ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9saWIvbGlicnRlX2VhbC9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlr ZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTk2 OjQzOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICAg ICAgICJDb21wbGV0aW9uIGNvbnRleHQgaXMgb2NjdXBpZWRcbiIpOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf Y29tLmM6MTk3OjE1OiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tl bgogICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICA7CiAgfQog IH4gICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyMDI6MzY6 IGVycm9yOiDigJhzdHJ1Y3QgZW5hX2NvbXBfY3R44oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY b2NjdXBpZWTigJkKICAgYWRtaW5fcXVldWUtPmNvbXBfY3R4W2NvbW1hbmRfaWRdLm9jY3VwaWVk ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9lbmEvYmFzZS9lbmFfY29tLmM6IEluIGZ1bmN0aW9uIOKAmF9fZW5hX2NvbV9zdWJtaXRf YWRtaW5fY21k4oCZOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MjI2OjYyOiBl cnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICBlbmFfdHJj X2RiZyhhZG1pbl9xdWV1ZS0+ZW5hX2RldiwgIkFkbWluIHF1ZXVlIGlzIGZ1bGwuXG4iKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyMjg6MzY6IGVycm9yOiBleHBl Y3RlZCDigJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgIHJldHVybiBFUlJfUFRSKEVOQV9D T01fTk9fU1BBQ0UpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsKICB9CiAgfiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjI0Mzox MDogZXJyb3I6IOKAmHN0cnVjdCBlbmFfY29tcF9jdHjigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJhzdGF0dXPigJkKICBjb21wX2N0eC0+c3RhdHVzID0gRU5BX0NNRF9TVUJNSVRURUQ7CiAgICAg ICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MjQ0OjEwOiBlcnJvcjog 4oCYc3RydWN0IGVuYV9jb21wX2N0eOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGNvbXBfc2l6 ZeKAmQogIGNvbXBfY3R4LT5jb21wX3NpemUgPSAodTMyKWNvbXBfc2l6ZV9pbl9ieXRlczsKICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyNDU6MTA6IGVycm9y OiDigJhzdHJ1Y3QgZW5hX2NvbXBfY3R44oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdXNlcl9j cWXigJkKICBjb21wX2N0eC0+dXNlcl9jcWUgPSBjb21wOwogICAgICAgICAgXn4KLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjI0NjoxMDogZXJyb3I6IOKAmHN0cnVjdCBlbmFfY29t cF9jdHjigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhjbWRfb3Bjb2Rl4oCZCiAgY29tcF9jdHgt PmNtZF9vcGNvZGUgPSBjbWQtPmFxX2NvbW1vbl9kZXNjcmlwdG9yLm9wY29kZTsKICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24g4oCYZW5h X2NvbV9pbml0X2NvbXBfY3R4dOKAmToKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5j OjI3Nzo1MzogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4K ICAgZW5hX3RyY19lcnIoZW5hX2RldiwgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Mjc4OjI1OiBlcnJvcjogZXhwZWN0ZWQg4oCY O+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogICByZXR1cm4gRU5BX0NPTV9OT19NRU07CiAgICAg ICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICA7CiAgfQogIH4g ICAgICAgICAgICAgICAgICAgICAgIApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX3BsYXQuaDoxNSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZl cnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9wbGF0X2RwZGsuaDoxNTY6MjE6IGVycm9yOiDigJhfd2XigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIGVuYV93YWl0X2V2ZW50X3QgKl93ZSA9ICYod2FpdGV2 ZW50KTsgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOjI4NDo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY RU5BX1dBSVRfRVZFTlRfSU5JVOKAmQogICAgRU5BX1dBSVRfRVZFTlRfSU5JVChjb21wX2N0eC0+ d2FpdF9ldmVudCk7CiAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9wbGF0X2RwZGsuaDoxNTY6MjE6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlm aWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGlu CiAgIGVuYV93YWl0X2V2ZW50X3QgKl93ZSA9ICYod2FpdGV2ZW50KTsgICAgICAgICAgXAogICAg ICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjI4 NDo0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYRU5BX1dBSVRfRVZFTlRfSU5JVOKA mQogICAgRU5BX1dBSVRfRVZFTlRfSU5JVChjb21wX2N0eC0+d2FpdF9ldmVudCk7CiAgICBefn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyODQ6MzI6 IGVycm9yOiDigJhzdHJ1Y3QgZW5hX2NvbXBfY3R44oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY d2FpdF9ldmVudOKAmQogICAgRU5BX1dBSVRfRVZFTlRfSU5JVChjb21wX2N0eC0+d2FpdF9ldmVu dCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1NjoyOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhFTkFfV0FJVF9FVkVOVF9JTklU4oCZCiAgIGVuYV93YWl0X2V2ZW50X3QgKl93ZSA9ICYo d2FpdGV2ZW50KTsgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MjcwOjIyOiBlcnJvcjogdW51 c2VkIHZhcmlhYmxlIOKAmGVuYV9kZXbigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0 cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldiA9IGFkbWluX3F1ZXVlLT5lbmFfZGV2OwogICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 IEluIGZ1bmN0aW9uIOKAmGVuYV9jb21faW5pdF9pb19zceKAmToKLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjM1MDo1NDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3Jl IOKAmDvigJkgdG9rZW4KICAgIGVuYV90cmNfZXJyKGVuYV9kZXYsICJNZW1vcnkgYWxsb2NhdGlv biBmYWlsZWRcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzozNTE6MjY6IGVy cm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgICByZXR1cm4gRU5B X0NPTV9OT19NRU07CiAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAg ICAgICAgICAgIDsKICAgfQogICB+ICAgICAgICAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjM3NTo2ODogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24g YmVmb3JlIOKAmDvigJkgdG9rZW4KICAgIGVuYV90cmNfZXJyKGVuYV9kZXYsICJCb3VuY2UgYnVm ZmVyIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Mzc2OjI2OiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBi ZWZvcmUg4oCYfeKAmSB0b2tlbgogICAgcmV0dXJuIEVOQV9DT01fTk9fTUVNOwogICAgICAgICAg ICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgICA7CiAgIH0KICAgfiAg ICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzog SW4gZnVuY3Rpb24g4oCYZW5hX2NvbV9pbml0X2lvX2Nx4oCZOgouLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfY29tLmM6NDQwOjUzOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg 4oCYO+KAmSB0b2tlbgogICBlbmFfdHJjX2VycihlbmFfZGV2LCAiTWVtb3J5IGFsbG9jYXRpb24g ZmFpbGVkXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo0NDE6MjU6IGVycm9y OiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgIHJldHVybiBFTkFfQ09N X05PX01FTTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAg ICAgIDsKICB9CiAgfiAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24g4oCYZW5hX2NvbV9oYW5kbGVfc2luZ2xlX2FkbWlu X2NvbXBsZXRpb27igJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo0NjI6Njk6 IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAgICAg ImNvbXBfY3R4IGlzIE5VTEwuIENoYW5naW5nIHRoZSBhZG1pbiBxdWV1ZSBydW5uaW5nIHN0YXRl XG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NDY0 OjEwOiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogICByZXR1 cm47CiAgICAgICAgICBeCiAgICAgICAgICA7CiAgfQogIH4gICAgICAgIAouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6NDY3OjEwOiBlcnJvcjog4oCYc3RydWN0IGVuYV9jb21wX2N0 eOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHN0YXR1c+KAmQogIGNvbXBfY3R4LT5zdGF0dXMg PSBFTkFfQ01EX0NPTVBMRVRFRDsKICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9jb20uYzo0Njg6MTA6IGVycm9yOiDigJhzdHJ1Y3QgZW5hX2NvbXBfY3R44oCZIGhhcyBu byBtZW1iZXIgbmFtZWQg4oCYY29tcF9zdGF0dXPigJkKICBjb21wX2N0eC0+Y29tcF9zdGF0dXMg PSBjcWUtPmFjcV9jb21tb25fZGVzY3JpcHRvci5zdGF0dXM7CiAgICAgICAgICBefgouLi9kcml2 ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NDcwOjE0OiBlcnJvcjog4oCYc3RydWN0IGVuYV9j b21wX2N0eOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHVzZXJfY3Fl4oCZCiAgaWYgKGNvbXBf Y3R4LT51c2VyX2NxZSkKICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6NDcxOjE4OiBlcnJvcjog4oCYc3RydWN0IGVuYV9jb21wX2N0eOKAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmHVzZXJfY3Fl4oCZCiAgIG1lbWNweShjb21wX2N0eC0+dXNlcl9jcWUs ICh2b2lkICopY3FlLCBjb21wX2N0eC0+Y29tcF9zaXplKTsKICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjQ3MTo1MTogZXJyb3I6IOKAmHN0cnVj dCBlbmFfY29tcF9jdHjigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhjb21wX3NpemXigJkKICAg bWVtY3B5KGNvbXBfY3R4LT51c2VyX2NxZSwgKHZvaWQgKiljcWUsIGNvbXBfY3R4LT5jb21wX3Np emUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQu aDoxNSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2NvbS5jOjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxOTE6MjE6 IGVycm9yOiDigJhfd2XigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgIGVuYV93YWl0X2V2ZW50X3QgKl93ZSA9ICYod2FpdGV2ZW50KTsgICAgICAgICAgXAogICAg ICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjQ3 NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYRU5BX1dBSVRfRVZFTlRfU0lHTkFM 4oCZCiAgIEVOQV9XQUlUX0VWRU5UX1NJR05BTChjb21wX2N0eC0+d2FpdF9ldmVudCk7CiAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NDc0 OjMzOiBlcnJvcjog4oCYc3RydWN0IGVuYV9jb21wX2N0eOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVk IOKAmHdhaXRfZXZlbnTigJkKICAgRU5BX1dBSVRfRVZFTlRfU0lHTkFMKGNvbXBfY3R4LT53YWl0 X2V2ZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE5MToyOTogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhFTkFfV0FJVF9FVkVOVF9TSUdOQUzigJkKICAgZW5hX3dhaXRfZXZlbnRfdCAq X3dlID0gJih3YWl0ZXZlbnQpOyAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rp b24g4oCYZW5hX2NvbV9jb21wX3N0YXR1c190b19lcnJub+KAmToKLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjUxOTo1MDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3Jl IOKAmDvigJkgdG9rZW4KICAgICAgICAiQWRtaW4gY29tbWFuZCBmYWlsZWRbJXVdXG4iLCBjb21w X3N0YXR1cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NTM3OjIzOiBlcnJvcjogZXhw ZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogIHJldHVybiBFTkFfQ09NX0lOVkFM OwogICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICA7CiB9CiB+ ICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 NTM4OjE6IGVycm9yOiBubyByZXR1cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmluZyBu b24tdm9pZCBbLVdlcnJvcj1yZXR1cm4tdHlwZV0KIH0KIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jh c2UvZW5hX2NvbS5jOjUxNDo2OTogZXJyb3I6IHVudXNlZCBwYXJhbWV0ZXIg4oCYYWRtaW5fcXVl dWXigJkgWy1XZXJyb3I9dW51c2VkLXBhcmFtZXRlcl0KIHN0YXRpYyBpbnQgZW5hX2NvbV9jb21w X3N0YXR1c190b19lcnJubyhzdHJ1Y3QgZW5hX2NvbV9hZG1pbl9xdWV1ZSAqYWRtaW5fcXVldWUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u YzogSW4gZnVuY3Rpb24g4oCYZW5hX2NvbV93YWl0X2FuZF9wcm9jZXNzX2FkbWluX2NxX3BvbGxp bmfigJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1NjI6MTU6IGVycm9yOiDi gJhzdHJ1Y3QgZW5hX2NvbXBfY3R44oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYc3RhdHVz4oCZ CiAgIGlmIChjb21wX2N0eC0+c3RhdHVzICE9IEVOQV9DTURfU1VCTUlUVEVEKQogICAgICAgICAg ICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NTY3OjUxOiBlcnJvcjog ZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICAgICAgICAiV2FpdCBm b3IgY29tcGxldGlvbiAocG9sbGluZykgdGltZW91dFxuIik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjU3NToxMzogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkg dG9rZW4KICAgIGdvdG8gZXJyOwogICAgICAgICAgICAgXgogICAgICAgICAgICAgOwogICB9CiAg IH4gICAgICAgICAgCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFz ZS9lbmFfcGxhdF9kcGRrLmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfcGxhdC5oOjE1LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2 ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NjoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2NvbS5jOjU4MjoyMzogZXJyb3I6IOKAmHN0cnVjdCBlbmFfY29tcF9jdHjigJkgaGFzIG5vIG1l bWJlciBuYW1lZCDigJhzdGF0dXPigJkKICBpZiAodW5saWtlbHkoY29tcF9jdHgtPnN0YXR1cyA9 PSBFTkFfQ01EX0FCT1JURUQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xp YnJ0ZV9lYWwvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogI2RlZmluZSB1bmxpa2VseSh4KSBf X2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjU4Mzo2MTogZXJy b3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgZW5hX3RyY19l cnIoYWRtaW5fcXVldWUtPmVuYV9kZXYsICJDb21tYW5kIHdhcyBhYm9ydGVkXG4iKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjU4ODoxMjogZXJyb3I6IGV4cGVjdGVk IOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAgZ290byBlcnI7CiAgICAgICAgICAgIF4K ICAgICAgICAgICAgOwogIH0KICB+ICAgICAgICAgIApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v ZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE4LAogICAgICAgICAgICAgICAg IGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQuaDoxNSwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uaDo5LAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY6Ci4uL2RyaXZl cnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1OTE6MTk6IGVycm9yOiDigJhzdHJ1Y3QgZW5hX2Nv bXBfY3R44oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYc3RhdHVz4oCZCiAgRU5BX1dBUk4oY29t cF9jdHgtPnN0YXR1cyAhPSBFTkFfQ01EX0NPTVBMRVRFRCwKICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2xpYi9saWJydGVfZWFsL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5s aWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1 OTE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEVOQV9XQVJO4oCZCiAgRU5BX1dB Uk4oY29tcF9jdHgtPnN0YXR1cyAhPSBFTkFfQ01EX0NPTVBMRVRFRCwKICBefn5+fn5+fgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQuaDoxNSwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uaDo5 LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5j OjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxMzU6NDE6IGVycm9y OiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAgX19GSUxFX18s IF9fZnVuY19fLCBfX0xJTkVfXywgIyNhcmcpOyAgICAgICAgXAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5j OjU5MToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYRU5BX1dBUk7igJkKICBFTkFf V0FSTihjb21wX2N0eC0+c3RhdHVzICE9IEVOQV9DTURfQ09NUExFVEVELAogIF5+fn5+fn5+Ci4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxMzY6MzogZXJyb3I6IGV4cGVj dGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAgfSAgICAgICAgICAgICAgXAogICBe Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1OTE6Mjogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmEVOQV9XQVJO4oCZCiAgRU5BX1dBUk4oY29tcF9jdHgtPnN0YXR1cyAh PSBFTkFfQ01EX0NPTVBMRVRFRCwKICBefn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6NTk1OjU4OiBlcnJvcjog4oCYc3RydWN0IGVuYV9jb21wX2N0eOKAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmGNvbXBfc3RhdHVz4oCZCiAgcmV0ID0gZW5hX2NvbV9jb21wX3N0YXR1 c190b19lcnJubyhhZG1pbl9xdWV1ZSwgY29tcF9jdHgtPmNvbXBfc3RhdHVzKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1OTY6MTogZXJyb3I6IGxhYmVsIOKAmGVycuKA mSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtbGFiZWxdCiBlcnI6CiBefn4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiDigJhlbmFfY29t X3NldF9sbHHigJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo2Mzc6NzA6IGVy cm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgIGVuYV90cmNf ZXJyKGVuYV9kZXYsICJGYWlsZWQgdG8gc2V0IExMUSBjb25maWd1cmF0aW9uczogJWRcbiIsIHJl dCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo2Mzk6 MTM6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgcmV0dXJu IHJldDsKICAgICAgICAgICAgIF4KICAgICAgICAgICAgIDsKIH0KIH4gICAgICAgICAgICAKLi4v ZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY0MDoxOiBlcnJvcjogbm8gcmV0dXJuIHN0 YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5 cGVdCiB9CiBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24g 4oCYZW5hX2NvbV9jb25maWdfbGxxX2luZm/igJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9jb20uYzo2NjA6MjM6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZ IHRva2VuCiAgICAgICAgc3VwcG9ydGVkX2ZlYXQpOwogICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY2MToxODogZXJyb3I6IGV4cGVjdGVk IOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgICAg ICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgOwogIH0KICB+ICAgICAgICAgICAgICAgIAou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Njc1OjI1OiBlcnJvcjogZXhwZWN0ZWQg ZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICAgICAgICAgc3VwcG9ydGVkX2ZlYXQp OwogICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf Y29tLmM6Njc2OjIwOiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tl bgogICAgIHJldHVybiAtRUlOVkFMOwogICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAg ICAgICAgICA7CiAgICB9CiAgICB+ICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfY29tLmM6NjgyOjM2OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg 4oCYO+KAmSB0b2tlbgogICAgICAgICBsbHFfaW5mby0+ZGVzY19zdHJpZGVfY3RybCk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjY4MjozNzogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkg dG9rZW4KICAgICAgICAgbGxxX2luZm8tPmRlc2Nfc3RyaWRlX2N0cmwpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOwogICB9CiAgIH4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2Ry aXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3MDQ6MjQ6IGVycm9yOiBleHBlY3RlZCBleHBy ZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAgICAgIHN1cHBvcnRlZF9mZWF0KTsKICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 NzA1OjE5OiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogICAg cmV0dXJuIC1FSU5WQUw7CiAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICA7 CiAgIH0KICAgfiAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2Nv bS5jOjcxMTozOTogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9r ZW4KICAgICAgICBsbHFfaW5mby0+ZGVzY19saXN0X2VudHJ5X3NpemUpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uYzo3MTE6NDA6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDigJh94oCZIHRva2Vu CiAgICAgICAgbGxxX2luZm8tPmRlc2NfbGlzdF9lbnRyeV9zaXplKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDsKICB9CiAgfiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3MTg6Mzk6IGVycm9yOiBleHBlY3Rl ZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAgICAgbGxxX2luZm8tPmRlc2Nf bGlzdF9lbnRyeV9zaXplKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NzE5OjE4OiBlcnJvcjogZXhwZWN0 ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgogICByZXR1cm4gLUVJTlZBTDsKICAgICAg ICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICA7CiAgfQogIH4gICAgICAgICAgICAgICAg Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3NDI6MjQ6IGVycm9yOiBleHBlY3Rl ZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAgICAgIHN1cHBvcnRlZF9mZWF0 KTsKICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf Y29tLmM6NzQzOjE5OiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tl bgogICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAg ICAgICA7CiAgIH0KICAgfiAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjc0OTo0MjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvi gJkgdG9rZW4KICAgICAgICBsbHFfaW5mby0+ZGVzY3NfbnVtX2JlZm9yZV9oZWFkZXIpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9jb20uYzo3NDk6NDM6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDi gJh94oCZIHRva2VuCiAgICAgICAgbGxxX2luZm8tPmRlc2NzX251bV9iZWZvcmVfaGVhZGVyKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsKICB9CiAgfiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u Yzo3NjU6NjU6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2Vu CiAgIGVuYV90cmNfZXJyKGVuYV9kZXYsICJDYW5ub3Qgc2V0IExMUSBjb25maWd1cmF0aW9uOiAl ZFxuIiwgcmMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjc2 NzoxMjogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICByZXR1 cm4gcmM7CiAgICAgICAgICAgIF4KICAgICAgICAgICAgOwogfQogfiAgICAgICAgICAgCi4uL2Ry aXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3Njg6MTogZXJyb3I6IG5vIHJldHVybiBzdGF0 ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yPXJldHVybi10eXBl XQogfQogXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X3BsYXQuaDoxNSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9jb20uaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jh c2UvZW5hX2NvbS5jOjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVu Y3Rpb24g4oCYZW5hX2NvbV93YWl0X2FuZF9wcm9jZXNzX2FkbWluX2NxX2ludGVycnVwdHPigJk6 Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxNjQ6MjE6IGVycm9yOiDi gJhfd2XigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIGVuYV93 YWl0X2V2ZW50X3QgKl93ZSA9ICYod2FpdGV2ZW50KTsgICAgICAgICAgXAogICAgICAgICAgICAg ICAgICAgICBefn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjc3NjoyOiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYRU5BX1dBSVRfRVZFTlRfV0FJVOKAmQogIEVOQV9X QUlUX0VWRU5UX1dBSVQoY29tcF9jdHgtPndhaXRfZXZlbnQsCiAgXn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Nzc2OjMwOiBlcnJvcjog4oCYc3Ry dWN0IGVuYV9jb21wX2N0eOKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHdhaXRfZXZlbnTigJkK ICBFTkFfV0FJVF9FVkVOVF9XQUlUKGNvbXBfY3R4LT53YWl0X2V2ZW50LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfcGxhdF9kcGRr Lmg6MTY0OjI5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmEVOQV9XQUlUX0VWRU5U X1dBSVTigJkKICAgZW5hX3dhaXRfZXZlbnRfdCAqX3dlID0gJih3YWl0ZXZlbnQpOyAgICAgICAg ICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxODU6NDQ6IGVycm9yOiBleHBlY3RlZCBleHByZXNz aW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAgIlRpbWVvdXQgd2FpdGluZyBmb3IgIiAjd2Fp dGV2ZW50ICJcbiIpOyAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Nzc2OjI6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhFTkFfV0FJVF9FVkVOVF9XQUlU4oCZCiAgRU5BX1dB SVRfRVZFTlRfV0FJVChjb21wX2N0eC0+d2FpdF9ldmVudCwKICBefn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxODg6MjogZXJyb3I6IGV4 cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICB9IHdoaWxlICgwKQogIF4KLi4v ZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjc3NjoyOiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYRU5BX1dBSVRfRVZFTlRfV0FJVOKAmQogIEVOQV9XQUlUX0VWRU5UX1dBSVQo Y29tcF9jdHgtPndhaXRfZXZlbnQsCiAgXn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE4LAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQuaDoxNSwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uaDo5 LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5j OjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3ODQ6MjM6IGVycm9yOiDigJhz dHJ1Y3QgZW5hX2NvbXBfY3R44oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYc3RhdHVz4oCZCiAg aWYgKHVubGlrZWx5KGNvbXBfY3R4LT5zdGF0dXMgPT0gRU5BX0NNRF9TVUJNSVRURUQpKSB7CiAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZS9ydGVfYnJh bmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1 bmxpa2VseeKAmQogI2RlZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAw KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjc5MDoxNTogZXJyb3I6IOKAmHN0cnVjdCBlbmFfY29tcF9j dHjigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhzdGF0dXPigJkKICAgaWYgKGNvbXBfY3R4LT5z dGF0dXMgPT0gRU5BX0NNRF9DT01QTEVURUQpIHsKICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjc5Mzo3MjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Np b24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgICAgICAgY29tcF9jdHgtPmNtZF9vcGNvZGUsIGFk bWluX3F1ZXVlLT5hdXRvX3BvbGxpbmcgPyAiT04iIDogIk9GRiIpOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3OTY6MzM6IGVycm9yOiBleHBlY3Rl ZCDigJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgICAgYWRtaW5fcXVldWUtPnBvbGxpbmcg PSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDsKICAgfSBlbHNlIHsKICAgfiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6ODAwOjQ4OiBlcnJv cjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICAgICAgICBjb21w X2N0eC0+Y21kX29wY29kZSwgY29tcF9jdHgtPnN0YXR1cyk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2NvbS5jOjgwMDo0OTogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9r ZW4KICAgICAgICAgY29tcF9jdHgtPmNtZF9vcGNvZGUsIGNvbXBfY3R4LT5zdGF0dXMpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwogICB9CiAgIH4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9jb20uYzo4MTM6NTg6IGVycm9yOiDigJhzdHJ1Y3QgZW5hX2NvbXBfY3R44oCZ IGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYY29tcF9zdGF0dXPigJkKICByZXQgPSBlbmFfY29tX2Nv bXBfc3RhdHVzX3RvX2Vycm5vKGFkbWluX3F1ZXVlLCBjb21wX2N0eC0+Y29tcF9zdGF0dXMpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiDigJhlbmFf Y29tX3JlZ19iYXJfcmVhZDMy4oCZOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 ODY1OjI3OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgog ICAgICAgIHJlYWRfcmVzcC0+cmVnX29mZik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjg2NzoxMjogZXJyb3I6IGV4cGVjdGVk IOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAgZ290byBlcnI7CiAgICAgICAgICAgIF4K ICAgICAgICAgICAgOwogIH0KICB+ICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6ODcxOjY0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KA mSB0b2tlbgogICBlbmFfdHJjX2VycihlbmFfZGV2LCAiUmVhZCBmYWlsdXJlOiB3cm9uZyBvZmZz ZXQgcHJvdmlkZWRcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6ODcyOjMxOiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0b2tlbgog ICByZXQgPSBFTkFfTU1JT19SRUFEX1RJTUVPVVQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7CiAgfSBlbHNlIHsKICB+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2Nv bS5jOjg3NjoxOiBlcnJvcjogbGFiZWwg4oCYZXJy4oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFst V2Vycm9yPXVudXNlZC1sYWJlbF0KIGVycjoKIF5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6IEluIGZ1bmN0aW9uIOKAmGVuYV9jb21fZGVzdHJveV9pb19zceKAmToKLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjkzMDo2NzogZXJyb3I6IGV4cGVjdGVkIGV4cHJl c3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgZW5hX3RyY19lcnIoZW5hX2RldiwgIkZhaWxl ZCB0byBkZXN0cm95IGlvIHNxIGVycm9yOiAlZFxuIiwgcmV0KTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjkzMjoxMzogZXJyb3I6IGV4cGVjdGVkIOKAmDvi gJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICByZXR1cm4gcmV0OwogICAgICAgICAgICAgXgogICAg ICAgICAgICAgOwogfQogfiAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf Y29tLmM6OTMzOjE6IGVycm9yOiBubyByZXR1cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVy bmluZyBub24tdm9pZCBbLVdlcnJvcj1yZXR1cm4tdHlwZV0KIH0KIF4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiDigJh3YWl0X2Zvcl9yZXNldF9zdGF0ZeKA mToKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjk4Njo1NTogZXJyb3I6IGV4cGVj dGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgIGVuYV90cmNfZXJyKGVuYV9k ZXYsICJSZWcgcmVhZCB0aW1lb3V0IG9jY3VycmVkXG4iKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jh c2UvZW5hX2NvbS5jOjk4NzozMzogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3i gJkgdG9rZW4KICAgIHJldHVybiBFTkFfQ09NX1RJTUVSX0VYUElSRUQ7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwog ICB9CiAgIH4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiDigJhlbmFfY29tX2dldF9mZWF0dXJlX2V44oCZ OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTAyNjo2NzogZXJyb3I6IGV4cGVj dGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgZW5hX3RyY19kYmcoZW5hX2Rl diwgIkZlYXR1cmUgJWQgaXNuJ3Qgc3VwcG9ydGVkXG4iLCBmZWF0dXJlX2lkKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEwMjc6MzA6IGVycm9yOiBleHBl Y3RlZCDigJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgIHJldHVybiBFTkFfQ09NX1VOU1VQ UE9SVEVEOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDsKICB9CiAgfiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEwNDU6NTQ6IGVycm9yOiBleHBlY3RlZCBleHBy ZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgIGVuYV90cmNfZXJyKGVuYV9kZXYsICJNZW1v cnkgYWRkcmVzcyBzZXQgZmFpbGVkXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6MTA0NjoxNDogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4K ICAgcmV0dXJuIHJldDsKICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgOwogIH0KICB+ICAg ICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMDYzOjI0OiBlcnJv cjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICAgICAgIGZlYXR1 cmVfaWQsIHJldCk7CiAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjEwNjU6MTM6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDi gJh94oCZIHRva2VuCiAgcmV0dXJuIHJldDsKICAgICAgICAgICAgIF4KICAgICAgICAgICAgIDsK IH0KIH4gICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEwNjY6 MTogZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12 b2lkIFstV2Vycm9yPXJldHVybi10eXBlXQogfQogXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6IEluIGZ1bmN0aW9uIOKAmGVuYV9jb21faW5kaXJlY3RfdGFibGVfYWxsb2NhdGXi gJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMTc3OjQzOiBlcnJvcjogZXhw ZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICAgICAgIDEgPDwgZ2V0X3Jl c3AudS5pbmRfdGFibGUubWF4X3NpemUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTE3ODoyNDog ZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAgcmV0dXJuIEVO QV9DT01fSU5WQUw7CiAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAg ICAgICAgOwogIH0KICB+ICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfY29tLmM6IEluIGZ1bmN0aW9uIOKAmGVuYV9jb21fY3JlYXRlX2lvX3Nx4oCZOgou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTI3ODo1NTogZXJyb3I6IGV4cGVjdGVk IGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgIGVuYV90cmNfZXJyKGVuYV9kZXYs ICJNZW1vcnkgYWRkcmVzcyBzZXQgZmFpbGVkXG4iKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjEyNzk6MTU6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDigJh94oCZ IHRva2VuCiAgICByZXR1cm4gcmV0OwogICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgIDsK ICAgfQogICB+ICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzox Mjg5OjY3OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgog ICBlbmFfdHJjX2VycihlbmFfZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBJTyBTUS4gZXJyb3I6ICVk XG4iLCByZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 MTI5MDoxNDogZXJyb3I6IGV4cGVjdGVkIOKAmDvigJkgYmVmb3JlIOKAmH3igJkgdG9rZW4KICAg cmV0dXJuIHJldDsKICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgOwogIH0KICB+ICAgICAg ICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMzA3OjgxOiBlcnJvcjog ZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogIGVuYV90cmNfZGJnKGVu YV9kZXYsICJDcmVhdGVkIHNxWyV1XSwgZGVwdGhbJXVdXG4iLCBpb19zcS0+aWR4LCBpb19zcS0+ cV9kZXB0aCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jh c2UvZW5hX2NvbS5jOjEzMDk6MTM6IGVycm9yOiBleHBlY3RlZCDigJg74oCZIGJlZm9yZSDigJh9 4oCZIHRva2VuCiAgcmV0dXJuIHJldDsKICAgICAgICAgICAgIF4KICAgICAgICAgICAgIDsKIH0K IH4gICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEzMTA6MTog ZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lk IFstV2Vycm9yPXJldHVybi10eXBlXQogfQogXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf Y29tLmM6IEluIGZ1bmN0aW9uIOKAmGVuYV9jb21fdXBkYXRlX2ludHJfZGVsYXlfcmVzb2x1dGlv buKAmToKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEzNDE6MTA3OiBlcnJvcjog ZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KAmSB0b2tlbgogICBlbmFfdHJjX2Vycihl bmFfZGV2LCAiSWxsZWdhbCBpbnRyX2RlbGF5X3Jlc29sdXRpb24gcHJvdmlkZWQuIEdvaW5nIHRv IHVzZSBkZWZhdWx0IDEgdXNlYyByZXNvbHV0aW9uXG4iKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9jb20uYzoxMzQyOjYxOiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZvcmUg4oCYfeKAmSB0 b2tlbgogICBpbnRyX2RlbGF5X3Jlc29sdXRpb24gPSBFTkFfREVGQVVMVF9JTlRSX0RFTEFZX1JF U09MVVRJT047CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA7CiAgfQogIH4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6IEluIGZ1bmN0aW9uIOKAmGVuYV9jb21fZXhlY3V0ZV9hZG1pbl9jb21tYW5k4oCZ OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTM3OToyNzogZXJyb3I6IGV4cGVj dGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAgICAgICAgUFRSX0VSUihjb21w X2N0eCkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9jb20uYzozMDA1OjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0 ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiB9CiBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uYzozMDA1OjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBzdGF0ZW1lbnQgYXQg ZW5kIG9mIGlucHV0Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMzcxOjY6IGVy cm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcmV04oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0K ICBpbnQgcmV0OwogICAgICBefn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjMw MDU6MTogZXJyb3I6IGNvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24gWy1X ZXJyb3I9cmV0dXJuLXR5cGVdCiB9CiBeCkF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjEzMzU6MTM6IGVycm9yOiDigJhlbmFfY29tX3VwZGF0ZV9pbnRyX2Rl bGF5X3Jlc29sdXRpb27igJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1 bmN0aW9uXQogc3RhdGljIHZvaWQgZW5hX2NvbV91cGRhdGVfaW50cl9kZWxheV9yZXNvbHV0aW9u KHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldiwKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 MTMxMjoxMjogZXJyb3I6IOKAmGVuYV9jb21faW5kX3RibF9jb252ZXJ0X3RvX2RldmljZeKAmSBk ZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgaW50 IGVuYV9jb21faW5kX3RibF9jb252ZXJ0X3RvX2RldmljZShzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVu YV9kZXYpCiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTIzODoxMjogZXJyb3I6IOKAmGVuYV9jb21f Y3JlYXRlX2lvX3Nx4oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5j dGlvbl0KIHN0YXRpYyBpbnQgZW5hX2NvbV9jcmVhdGVfaW9fc3Eoc3RydWN0IGVuYV9jb21fZGV2 ICplbmFfZGV2LAogICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6MTIxNzoxMzogZXJyb3I6IOKAmGVuYV9jb21faW5kaXJlY3Rf dGFibGVfZGVzdHJveeKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVu Y3Rpb25dCiBzdGF0aWMgdm9pZCBlbmFfY29tX2luZGlyZWN0X3RhYmxlX2Rlc3Ryb3koc3RydWN0 IGVuYV9jb21fZGV2ICplbmFfZGV2KQogICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMTU5OjEyOiBlcnJv cjog4oCYZW5hX2NvbV9pbmRpcmVjdF90YWJsZV9hbGxvY2F0ZeKAmSBkZWZpbmVkIGJ1dCBub3Qg dXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgaW50IGVuYV9jb21faW5kaXJl Y3RfdGFibGVfYWxsb2NhdGUoc3RydWN0IGVuYV9jb21fZGV2ICplbmFfZGV2LAogICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9jb20uYzoxMTQ2OjEzOiBlcnJvcjog4oCYZW5hX2NvbV9oYXNoX2N0cmxfZGVzdHJveeKA mSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMg dm9pZCBlbmFfY29tX2hhc2hfY3RybF9kZXN0cm95KHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2Rl dikKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOjExMzA6MTI6IGVycm9yOiDigJhlbmFfY29tX2hhc2hfY3RybF9p bml04oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KIHN0 YXRpYyBpbnQgZW5hX2NvbV9oYXNoX2N0cmxfaW5pdChzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVuYV9k ZXYpCiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjExMTc6MTM6IGVycm9yOiDigJhlbmFfY29tX2hhc2hfa2V5X2Rlc3Ry b3nigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogc3Rh dGljIHZvaWQgZW5hX2NvbV9oYXNoX2tleV9kZXN0cm95KHN0cnVjdCBlbmFfY29tX2RldiAqZW5h X2RldikKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6MTA5ODoxMjogZXJyb3I6IOKAmGVuYV9jb21faGFzaF9rZXlf YWxsb2NhdGXigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9u XQogc3RhdGljIGludCBlbmFfY29tX2hhc2hfa2V5X2FsbG9jYXRlKHN0cnVjdCBlbmFfY29tX2Rl diAqZW5hX2RldikKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTA4NjoxMzogZXJyb3I6IOKAmGVuYV9jb21faGFz aF9rZXlfZmlsbF9kZWZhdWx0X2tleeKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11 bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgdm9pZCBlbmFfY29tX2hhc2hfa2V5X2ZpbGxfZGVmYXVs dF9rZXkoc3RydWN0IGVuYV9jb21fZGV2ICplbmFfZGV2KQogICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u Yzo5NzM6MTI6IGVycm9yOiDigJh3YWl0X2Zvcl9yZXNldF9zdGF0ZeKAmSBkZWZpbmVkIGJ1dCBu b3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgaW50IHdhaXRfZm9yX3Jl c2V0X3N0YXRlKHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldiwgdTMyIHRpbWVvdXQsCiAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uYzo5MzU6MTM6IGVycm9yOiDigJhlbmFfY29tX2lvX3F1ZXVlX2ZyZWXigJkgZGVmaW5lZCBi dXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogc3RhdGljIHZvaWQgZW5hX2Nv bV9pb19xdWV1ZV9mcmVlKHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldiwKICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 OTAwOjEyOiBlcnJvcjog4oCYZW5hX2NvbV9kZXN0cm95X2lvX3Nx4oCZIGRlZmluZWQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KIHN0YXRpYyBpbnQgZW5hX2NvbV9kZXN0 cm95X2lvX3NxKHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldiwKICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo4ODk6MTI6 IGVycm9yOiDigJhlbmFfY29tX3dhaXRfYW5kX3Byb2Nlc3NfYWRtaW5fY3HigJkgZGVmaW5lZCBi dXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogc3RhdGljIGludCBlbmFfY29t X3dhaXRfYW5kX3Byb2Nlc3NfYWRtaW5fY3Eoc3RydWN0IGVuYV9jb21wX2N0eCAqY29tcF9jdHgs CiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NjQyOjEyOiBlcnJvcjog4oCYZW5hX2NvbV9jb25maWdf bGxxX2luZm/igJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9u XQogc3RhdGljIGludCBlbmFfY29tX2NvbmZpZ19sbHFfaW5mbyhzdHJ1Y3QgZW5hX2NvbV9kZXYg KmVuYV9kZXYsCiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzo0MDQ6MTI6IGVycm9yOiDigJhlbmFfY29tX2luaXRfaW9f Y3HigJkgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogc3Rh dGljIGludCBlbmFfY29tX2luaXRfaW9fY3Eoc3RydWN0IGVuYV9jb21fZGV2ICplbmFfZGV2LAog ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2NvbS5jOjMxNToxMjogZXJyb3I6IOKAmGVuYV9jb21faW5pdF9pb19zceKAmSBkZWZpbmVkIGJ1 dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgaW50IGVuYV9jb21f aW5pdF9pb19zcShzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYsCiAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MjY4OjEyOiBl cnJvcjog4oCYZW5hX2NvbV9pbml0X2NvbXBfY3R4dOKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBb LVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgaW50IGVuYV9jb21faW5pdF9jb21wX2N0 eHQoc3RydWN0IGVuYV9jb21fYWRtaW5fcXVldWUgKmFkbWluX3F1ZXVlKQogICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzox MjY6MTI6IGVycm9yOiDigJhlbmFfY29tX2FkbWluX2luaXRfYWVuceKAmSBkZWZpbmVkIGJ1dCBu b3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgaW50IGVuYV9jb21fYWRt aW5faW5pdF9hZW5xKHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldiwKICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEw NjoxMjogZXJyb3I6IOKAmGVuYV9jb21fYWRtaW5faW5pdF9jceKAmSBkZWZpbmVkIGJ1dCBub3Qg dXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiBzdGF0aWMgaW50IGVuYV9jb21fYWRtaW5f aW5pdF9jcShzdHJ1Y3QgZW5hX2NvbV9hZG1pbl9xdWV1ZSAqYWRtaW5fcXVldWUpCiAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6ODM6MTI6IGVycm9yOiDigJhlbmFfY29tX2FkbWluX2luaXRfc3HigJkgZGVmaW5lZCBidXQg bm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogc3RhdGljIGludCBlbmFfY29tX2Fk bWluX2luaXRfc3Eoc3RydWN0IGVuYV9jb21fYWRtaW5fcXVldWUgKmFkbWluX3F1ZXVlKQogICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJl YXRlZCBhcyBlcnJvcnMKWzExMzYvMjczMF0gTGlua2luZyBzdGF0aWMgdGFyZ2V0IGRyaXZlcnMv bGlicnRlX25ldF9kcGFhMi5hClsxMTM3LzI3MzBdIExpbmtpbmcgdGFyZ2V0IGRyaXZlcnMvbGli cnRlX25ldF9kcGFhLnNvLjIxLjIKWzExMzgvMjczMF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9uZXRfZTEwMDAuYS5wL25ldF9lMTAwMF9pZ2JfcGYuYy5vClsxMTM5LzI3 MzBdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2VuYS5hLnAvbmV0 X2VuYV9lbmFfZXRoZGV2LmMubwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfZW5hLmEu cC9uZXRfZW5hX2VuYV9ldGhkZXYuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2Vu YS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvbmV0L2VuYSAtSS4uL2RyaXZl cnMvbmV0L2VuYSAtSS4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlIC1JLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2RlZnMgLUlsaWIvbGlicnRlX2V0aGRldiAtSS4uL2xpYi9saWJydGVfZXRoZGV2 IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAt SS4uL2xpYi9saWJydGVfZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9saW51eC9pbmNsdWRl IC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9j b21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xp Yi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAt SWxpYi9saWJydGVfbWV0cmljcyAtSS4uL2xpYi9saWJydGVfbWV0cmljcyAtSWxpYi9saWJydGVf dGVsZW1ldHJ5IC1JLi4vbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUlsaWIvbGlicnRlX25ldCAtSS4u L2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1J bGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9y aW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xpYi9saWJy dGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2 ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1J ZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlsaWIvbGlicnRlX3RpbWVy IC1JLi4vbGliL2xpYnJ0ZV90aW1lciAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAt RF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcg LWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1X Zm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRl Y2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXBy b3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1wYWNrZWQtbm90LWFsaWduZWQg LVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJj aD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2VuYS5h LnAvbmV0X2VuYV9lbmFfZXRoZGV2LmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lbmEu YS5wL25ldF9lbmFfZW5hX2V0aGRldi5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2Vu YS5hLnAvbmV0X2VuYV9lbmFfZXRoZGV2LmMubyAtYyAuLi9kcml2ZXJzL25ldC9lbmEvZW5hX2V0 aGRldi5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf cGxhdC5oOjE1LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvZW5h X2V0aGRldi5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Vu YV9ldGhkZXYuYzoxODoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjY4 OjI0OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDigJh2b2lk 4oCZCiAjZGVmaW5lIEVOQV9UT1VDSCh4KSAoKHZvaWQpKHgpKQogICAgICAgICAgICAgICAgICAg ICAgICBefn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxMTQ6Mzog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEVOQV9UT1VDSOKAmQogICBFTkFfVE9VQ0go ZGV2KSwgICAgICAgICAgICAgXAogICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX3BsYXRfZHBkay5oOjY4OjI5OiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZvcmUg4oCY KOKAmSB0b2tlbgogI2RlZmluZSBFTkFfVE9VQ0goeCkgKCh2b2lkKSh4KSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsu aDoxMTQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEVOQV9UT1VDSOKAmQogICBF TkFfVE9VQ0goZGV2KSwgICAgICAgICAgICAgXAogICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjExNToyMDogZXJyb3I6IHN0cmF5IOKAmCMj4oCZIGlu IHByb2dyYW0KICAgcnRlX2xvZyhSVEVfTE9HXyAjIyBsZXZlbCwgZW5hX2xvZ3R5cGVfY29tLCAg ICAgICAgIFwKICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfcGxhdF9kcGRrLmg6MTE2OjM1OiBlcnJvcjogc3RyYXkg4oCYIyPigJkgaW4gcHJvZ3JhbQog ICAgIltFTkFfQ09NOiAlc10iIGZtdCwgX19mdW5jX18sICMjYXJnKSkgICAgICAgICBcCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX3BsYXRfZHBkay5oOjE1MjozOiBlcnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBubyB0eXBl IG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiB9IGVuYV93YWl0X2V2ZW50X3Q7CiAgIF5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1Mjoz OiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byDigJhpbnTigJkgaW4gZGVjbGFyYXRpb24gb2Yg4oCY ZW5hX3dhaXRfZXZlbnRfdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvZW5hX2V0aGRldi5jOjIyOgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5oOiBJbiBmdW5jdGlvbiDigJhlbmFfY29tX2lzX2Rvb3Ji ZWxsX25lZWRlZOKAmToKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uaDoxNDg6 NDk6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSDigJg74oCZIHRva2VuCiAgICAg ICBpb19zcS0+cWlkLCBudW1fZGVzY3MsIG51bV9lbnRyaWVzX25lZWRlZCk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9ldGhfY29tLmg6MTUwOjYyOiBlcnJvcjogZXhwZWN0ZWQg4oCYO+KAmSBiZWZv cmUg4oCYfeKAmSB0b2tlbgogIHJldHVybiBudW1fZW50cmllc19uZWVkZWQgPiBpb19zcS0+ZW50 cmllc19pbl90eF9idXJzdF9sZWZ0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7CiB9CiB+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJz L25ldC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5oOiBJbiBmdW5jdGlvbiDigJhlbmFfY29tX3dyaXRl X3NxX2Rvb3JiZWxs4oCZOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5oOjE2 MDoyNDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkgdG9rZW4KICAg ICAgIGlvX3NxLT5xaWQsIHRhaWwpOwogICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvbmV0L2VuYS9lbmFfZXRoZGV2LmM6MzA4MToxOiBlcnJvcjogZXhwZWN0ZWQgZGVjbGFyYXRp b24gb3Igc3RhdGVtZW50IGF0IGVuZCBvZiBpbnB1dAogfTsKIF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9lbmFfZXRoZGV2LmM6MjI6Ci4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9ldGhfY29tLmg6MTU2OjY6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYdGFp bOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgdTE2IHRhaWwgPSBpb19zcS0+dGFpbDsK ICAgICAgXn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5oOjE1NTo2OiBl cnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmG1heF9lbnRyaWVzX2luX3R4X2J1cnN04oCZIFstV2Vy cm9yPXVudXNlZC12YXJpYWJsZV0KICB1MTYgbWF4X2VudHJpZXNfaW5fdHhfYnVyc3QgPSBpb19z cS0+bGxxX2luZm8ubWF4X2VudHJpZXNfaW5fdHhfYnVyc3Q7CiAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9lbmFfZXRoZGV2LmM6MzA4MToxOiBlcnJvcjog bm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJy b3I9cmV0dXJuLXR5cGVdCiB9OwogXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwpbMTE0MC8yNzMwXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRl X25ldF9lbmEuYS5wL25ldF9lbmFfYmFzZV9lbmFfZXRoX2NvbS5jLm8KRkFJTEVEOiBkcml2ZXJz L2xpYnRtcF9ydGVfbmV0X2VuYS5hLnAvbmV0X2VuYV9iYXNlX2VuYV9ldGhfY29tLmMubyAKZ2Nj IC1JZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMg LUlkcml2ZXJzL25ldC9lbmEgLUkuLi9kcml2ZXJzL25ldC9lbmEgLUkuLi9kcml2ZXJzL25ldC9l bmEvYmFzZSAtSS4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9kZWZzIC1JbGliL2xpYnJ0ZV9l dGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZp ZyAtSWxpYi9saWJydGVfZWFsL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9pbmNsdWRlIC1J bGliL2xpYnJ0ZV9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2lu Y2x1ZGUgLUlsaWIvbGlicnRlX2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4 Ni9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29t bW9uIC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3Zh cmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIv bGlicnRlX21ldHJpY3MgLUlsaWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVs ZW1ldHJ5IC1JbGliL2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVf bWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9s aWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxp Yi9saWJydGVfbWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0 ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJz L2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV90aW1lciAtSS4uL2xpYi9saWJydGVfdGltZXIgLWZkaWFn bm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAt V2ludmFsaWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJh IC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1X Zm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlw ZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0 aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJp bmdzIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXpl cnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFM X0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1NRCAtTVEg ZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wL25ldF9lbmFfYmFzZV9lbmFfZXRoX2NvbS5j Lm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfZW5hLmEucC9uZXRfZW5hX2Jhc2VfZW5hX2V0 aF9jb20uYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wL25ldF9lbmFfYmFz ZV9lbmFfZXRoX2NvbS5jLm8gLWMgLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20u YwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQu aDoxNSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2V0aF9jb20uaDoxMiwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9ldGhfY29tLmM6NjoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBk ay5oOjY4OjI0OiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciDigJgo4oCZIGJlZm9yZSDi gJh2b2lk4oCZCiAjZGVmaW5lIEVOQV9UT1VDSCh4KSAoKHZvaWQpKHgpKQogICAgICAgICAgICAg ICAgICAgICAgICBefn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDox MTQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEVOQV9UT1VDSOKAmQogICBFTkFf VE9VQ0goZGV2KSwgICAgICAgICAgICAgXAogICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX3BsYXRfZHBkay5oOjY4OjI5OiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZv cmUg4oCYKOKAmSB0b2tlbgogI2RlZmluZSBFTkFfVE9VQ0goeCkgKCh2b2lkKSh4KSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0 X2RwZGsuaDoxMTQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEVOQV9UT1VDSOKA mQogICBFTkFfVE9VQ0goZGV2KSwgICAgICAgICAgICAgXAogICBefn5+fn5+fn4KLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjExNToyMDogZXJyb3I6IHN0cmF5IOKAmCMj 4oCZIGluIHByb2dyYW0KICAgcnRlX2xvZyhSVEVfTE9HXyAjIyBsZXZlbCwgZW5hX2xvZ3R5cGVf Y29tLCAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfcGxhdF9kcGRrLmg6MTE2OjM1OiBlcnJvcjogc3RyYXkg4oCYIyPigJkgaW4gcHJv Z3JhbQogICAgIltFTkFfQ09NOiAlc10iIGZtdCwgX19mdW5jX18sICMjYXJnKSkgICAgICAgICBc CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1MjozOiBlcnJvcjogZGF0YSBkZWZpbml0aW9uIGhhcyBu byB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiB9IGVuYV93YWl0X2V2ZW50X3Q7CiAg IF5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5o OjE1MjozOiBlcnJvcjogdHlwZSBkZWZhdWx0cyB0byDigJhpbnTigJkgaW4gZGVjbGFyYXRpb24g b2Yg4oCYZW5hX3dhaXRfZXZlbnRfdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1pbnRdCkluIGZpbGUg aW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5jOjY6Ci4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmg6IEluIGZ1bmN0aW9uIOKAmGVuYV9j b21faXNfZG9vcmJlbGxfbmVlZGVk4oCZOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfZXRo X2NvbS5oOjE0ODo0OTogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlIOKAmDvigJkg dG9rZW4KICAgICAgIGlvX3NxLT5xaWQsIG51bV9kZXNjcywgbnVtX2VudHJpZXNfbmVlZGVkKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uaDoxNTA6NjI6IGVycm9yOiBleHBlY3RlZCDi gJg74oCZIGJlZm9yZSDigJh94oCZIHRva2VuCiAgcmV0dXJuIG51bV9lbnRyaWVzX25lZWRlZCA+ IGlvX3NxLT5lbnRyaWVzX2luX3R4X2J1cnN0X2xlZnQ7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsKIH0KIH4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmg6IEluIGZ1bmN0aW9uIOKAmGVu YV9jb21fd3JpdGVfc3FfZG9vcmJlbGzigJk6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9l dGhfY29tLmg6MTYwOjI0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg4oCYO+KA mSB0b2tlbgogICAgICAgaW9fc3EtPnFpZCwgdGFpbCk7CiAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uYzo2NTc6MTogZXJyb3I6IGV4 cGVjdGVkIGRlY2xhcmF0aW9uIG9yIHN0YXRlbWVudCBhdCBlbmQgb2YgaW5wdXQKIH0KIF4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmM6 NjoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uaDoxNTY6NjogZXJyb3I6IHVu dXNlZCB2YXJpYWJsZSDigJh0YWls4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICB1MTYg dGFpbCA9IGlvX3NxLT50YWlsOwogICAgICBefn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9ldGhfY29tLmg6MTU1OjY6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYbWF4X2VudHJpZXNf aW5fdHhfYnVyc3TigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHUxNiBtYXhfZW50cmll c19pbl90eF9idXJzdCA9IGlvX3NxLT5sbHFfaW5mby5tYXhfZW50cmllc19pbl90eF9idXJzdDsK ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2V0aF9jb20uYzo2NTc6MTogZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24g cmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yPXJldHVybi10eXBlXQogfQogXgpjYzE6IGFsbCB3 YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbMTE0MS8yNzMwXSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lMTAwMC5hLnAvbmV0X2UxMDAwX2lnYl9mbG93 LmMubwpbMTE0Mi8yNzMwXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX25l dF9lMTAwMC5hLnAvbmV0X2UxMDAwX2VtX3J4dHguYy5vClsxMTQzLzI3MzBdIENvbXBpbGluZyBD IG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2UxMDAwLmEucC9uZXRfZTEwMDBfaWdiX2V0 aGRldi5jLm8KWzExNDQvMjczMF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9uZXRfZTEwMDAuYS5wL25ldF9lMTAwMF9pZ2Jfcnh0eC5jLm8KbmluamE6IGJ1aWxkIHN0b3Bw ZWQKCgoKCipCdWlsZCBGYWlsZWQgIzI6Ck9TOiBGcmVlQlNEMTIwMS02NApUYXJnZXQ6IHg4Nl82 NC1uYXRpdmUtYnNkYXBwLWdjYytkZWJ1ZwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRf ZW5hLmEucC9uZXRfZW5hX2VuYV9ldGhkZXYuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVf bmV0X2VuYS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvbmV0L2VuYSAtSS4u L2RyaXZlcnMvbmV0L2VuYSAtSS4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlIC1JLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX2RlZnMgLUlsaWIvbGlicnRlX2V0aGRldiAtSS4uL2xpYi9saWJydGVf ZXRoZGV2IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvaW5j bHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9mcmVlYnNk L2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9mcmVlYnNkL2luY2x1ZGUgLUlsaWIvbGlicnRl X2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2xp YnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9l YWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0 ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX21ldHJpY3MgLUkuLi9saWIvbGlicnRlX21ldHJpY3MgLUls aWIvbGlicnRlX3RlbGVtZXRyeSAtSS4uL2xpYi9saWJydGVfdGVsZW1ldHJ5IC1JbGliL2xpYnJ0 ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJy dGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxp Yi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfbWV0ZXIgLUku Li9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNp IC1JLi4vZHJpdmVycy9idXMvcGNpL2JzZCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0 ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWxpYi9saWJy dGVfdGltZXIgLUkuLi9saWIvbGlicnRlX3RpbWVyIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlz IC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2Vycm9y IC1PMiAtZyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAtV2Nhc3QtcXVhbCAtV2RlcHJl Y2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21p c3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMg LVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdz dHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2Yt cGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQt aW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLURfX0JTRF9WSVNJQkxFIC1mUElDIC1tYXJjaD1u YXRpdmUgLW1uby1hdng1MTJmIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVS TkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRl X25ldF9lbmEuYS5wL25ldF9lbmFfZW5hX2V0aGRldi5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0 ZV9uZXRfZW5hLmEucC9uZXRfZW5hX2VuYV9ldGhkZXYuYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBf cnRlX25ldF9lbmEuYS5wL25ldF9lbmFfZW5hX2V0aGRldi5jLm8gLWMgLi4vZHJpdmVycy9uZXQv ZW5hL2VuYV9ldGhkZXYuYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX3BsYXQuaDoyMSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9u ZXQvZW5hL2VuYV9ldGhkZXYuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMv bmV0L2VuYS9lbmFfZXRoZGV2LmM6MTg6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0 X2RwZGsuaDo2ODoyNDogZXJyb3I6IGV4cGVjdGVkIGlkZW50aWZpZXIgb3IgJygnIGJlZm9yZSAn dm9pZCcKICAgNjggfCAjZGVmaW5lIEVOQV9UT1VDSCh4KSAoKHZvaWQpKHgpKQogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfcGxh dF9kcGRrLmg6MTE0OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnRU5BX1RPVUNIJwog IDExNCB8ICAgRU5BX1RPVUNIKGRldiksICAgICAgICAgICAgIFwKICAgICAgfCAgIF5+fn5+fn5+ fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfcGxhdF9kcGRrLmg6Njg6Mjk6IGVycm9yOiBl eHBlY3RlZCAnKScgYmVmb3JlICcoJyB0b2tlbgogICA2OCB8ICNkZWZpbmUgRU5BX1RPVUNIKHgp ICgodm9pZCkoeCkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjExNDozOiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8gJ0VOQV9UT1VDSCcKICAxMTQgfCAgIEVOQV9UT1VDSChkZXYpLCAgICAgICAg ICAgICBcCiAgICAgIHwgICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3Bs YXRfZHBkay5oOjExNToyMDogZXJyb3I6IHN0cmF5ICcjIycgaW4gcHJvZ3JhbQogIDExNSB8ICAg cnRlX2xvZyhSVEVfTE9HXyAjIyBsZXZlbCwgZW5hX2xvZ3R5cGVfY29tLCAgICAgICAgIFwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3Bs YXRfZHBkay5oOjExNjozNTogZXJyb3I6IHN0cmF5ICcjIycgaW4gcHJvZ3JhbQogIDExNiB8ICAg ICJbRU5BX0NPTTogJXNdIiBmbXQsIF9fZnVuY19fLCAjI2FyZykpICAgICAgICAgXAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfcGxhdF9kcGRrLmg6MTUyOjM6IGVycm9yOiBkYXRhIGRlZmluaXRpb24gaGFzIG5v IHR5cGUgb3Igc3RvcmFnZSBjbGFzcyBbLVdlcnJvcl0KICAxNTIgfCB9IGVuYV93YWl0X2V2ZW50 X3Q7CiAgICAgIHwgICBefn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9wbGF0X2RwZGsuaDoxNTI6MzogZXJyb3I6IHR5cGUgZGVmYXVsdHMgdG8gJ2ludCcgaW4gZGVj bGFyYXRpb24gb2YgJ2VuYV93YWl0X2V2ZW50X3QnIFstV2Vycm9yPWltcGxpY2l0LWludF0KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9lbmFfZXRoZGV2LmM6MjI6Ci4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmg6IEluIGZ1bmN0aW9uICdlbmFfY29t X2lzX2Rvb3JiZWxsX25lZWRlZCc6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29t Lmg6MTQ4OjQ5OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAg MTQ4IHwgICAgICAgaW9fc3EtPnFpZCwgbnVtX2Rlc2NzLCBudW1fZW50cmllc19uZWVkZWQpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uaDoxNTA6NjI6IGVycm9yOiBleHBl Y3RlZCAnOycgYmVmb3JlICd9JyB0b2tlbgogIDE1MCB8ICByZXR1cm4gbnVtX2VudHJpZXNfbmVl ZGVkID4gaW9fc3EtPmVudHJpZXNfaW5fdHhfYnVyc3RfbGVmdDsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7CiAgMTUxIHwgfQogICAgICB8IH4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9ldGhfY29tLmg6IEluIGZ1bmN0aW9uICdlbmFfY29tX3dyaXRlX3NxX2Rvb3JiZWxsJzoK Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uaDoxNjA6MjQ6IGVycm9yOiBleHBl Y3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICAxNjAgfCAgICAgICBpb19zcS0+cWlk LCB0YWlsKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQv ZW5hL2VuYV9ldGhkZXYuYzozMDgxOjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBvciBz dGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAzMDgxIHwgfTsKICAgICAgfCBeCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvZW5hX2V0aGRldi5jOjIyOgouLi9kcml2ZXJz L25ldC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5oOjE1Njo2OiBlcnJvcjogdW51c2VkIHZhcmlhYmxl ICd0YWlsJyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTU2IHwgIHUxNiB0YWlsID0gaW9f c3EtPnRhaWw7CiAgICAgIHwgICAgICBefn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9l dGhfY29tLmg6MTU1OjY6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ21heF9lbnRyaWVzX2luX3R4 X2J1cnN0JyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTU1IHwgIHUxNiBtYXhfZW50cmll c19pbl90eF9idXJzdCA9IGlvX3NxLT5sbHFfaW5mby5tYXhfZW50cmllc19pbl90eF9idXJzdDsK ICAgICAgfCAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9l bmFfZXRoZGV2LmM6MzA4MToxOiBlcnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlv biByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiAzMDgxIHwgfTsKICAg ICAgfCBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCls4NTAvMTk0 NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfZTEwMDAuYS5wL25l dF9lMTAwMF9pZ2JfcGYuYy5vCls4NTEvMTk0NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9uZXRfZW5hLmEucC9uZXRfZW5hX2Jhc2VfZW5hX2V0aF9jb20uYy5vCkZBSUxF RDogZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wL25ldF9lbmFfYmFzZV9lbmFfZXRoX2Nv bS5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfZW5hLmEucCAtSWRyaXZlcnMgLUku Li9kcml2ZXJzIC1JZHJpdmVycy9uZXQvZW5hIC1JLi4vZHJpdmVycy9uZXQvZW5hIC1JLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UgLUkuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfZGVmcyAtSWxp Yi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4gLUljb25maWcg LUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwv aW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2ZyZWVic2QvaW5jbHVkZSAtSS4uL2xpYi9saWJydGVf ZWFsL2ZyZWVic2QvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGli L2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIv bGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xpYi9saWJydGVfZWFsIC1J bGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAtSWxpYi9saWJydGVfbWV0 cmljcyAtSS4uL2xpYi9saWJydGVfbWV0cmljcyAtSWxpYi9saWJydGVfdGVsZW1ldHJ5IC1JLi4v bGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUlsaWIvbGlicnRlX25ldCAtSS4uL2xpYi9saWJydGVfbmV0 IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1w b29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xp YnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xpYi9saWJydGVfbWV0ZXIgLUlkcml2 ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvYnNk IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYg LUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0ZV90aW1lciAtSS4uL2xpYi9saWJydGVf dGltZXIgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklU Uz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25m aWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1u b25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1X cG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYg LVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2Vk LW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJD RSAtRF9fQlNEX1ZJU0lCTEUgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtbW5vLWF2eDUxMmYgLURBTExP V19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5j YXRpb24gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2VuYS5hLnAvbmV0X2VuYV9iYXNl X2VuYV9ldGhfY29tLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wL25ldF9l bmFfYmFzZV9lbmFfZXRoX2NvbS5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2VuYS5h LnAvbmV0X2VuYV9iYXNlX2VuYV9ldGhfY29tLmMubyAtYyAuLi9kcml2ZXJzL25ldC9lbmEvYmFz ZS9lbmFfZXRoX2NvbS5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfcGxhdC5oOjIxLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5oOjEyLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uYzo2OgouLi9kcml2ZXJzL25ldC9lbmEvYmFz ZS9lbmFfcGxhdF9kcGRrLmg6Njg6MjQ6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICco JyBiZWZvcmUgJ3ZvaWQnCiAgIDY4IHwgI2RlZmluZSBFTkFfVE9VQ0goeCkgKCh2b2lkKSh4KSkK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jh c2UvZW5hX3BsYXRfZHBkay5oOjExNDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0VO QV9UT1VDSCcKICAxMTQgfCAgIEVOQV9UT1VDSChkZXYpLCAgICAgICAgICAgICBcCiAgICAgIHwg ICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjY4OjI5 OiBlcnJvcjogZXhwZWN0ZWQgJyknIGJlZm9yZSAnKCcgdG9rZW4KICAgNjggfCAjZGVmaW5lIEVO QV9UT1VDSCh4KSAoKHZvaWQpKHgpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxMTQ6Mzogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdFTkFfVE9VQ0gnCiAgMTE0IHwgICBFTkFfVE9VQ0goZGV2 KSwgICAgICAgICAgICAgXAogICAgICB8ICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9wbGF0X2RwZGsuaDoxMTU6MjA6IGVycm9yOiBzdHJheSAnIyMnIGluIHByb2dyYW0K ICAxMTUgfCAgIHJ0ZV9sb2coUlRFX0xPR18gIyMgbGV2ZWwsIGVuYV9sb2d0eXBlX2NvbSwgICAg ICAgICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9wbGF0X2RwZGsuaDoxMTY6MzU6IGVycm9yOiBzdHJheSAnIyMnIGluIHByb2dyYW0K ICAxMTYgfCAgICAiW0VOQV9DT006ICVzXSIgZm10LCBfX2Z1bmNfXywgIyNhcmcpKSAgICAgICAg IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1MjozOiBlcnJvcjogZGF0YSBkZWZpbml0 aW9uIGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMTUyIHwgfSBlbmFf d2FpdF9ldmVudF90OwogICAgICB8ICAgXn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9l bmEvYmFzZS9lbmFfcGxhdF9kcGRrLmg6MTUyOjM6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvICdp bnQnIGluIGRlY2xhcmF0aW9uIG9mICdlbmFfd2FpdF9ldmVudF90JyBbLVdlcnJvcj1pbXBsaWNp dC1pbnRdCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf ZXRoX2NvbS5jOjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmg6IEluIGZ1 bmN0aW9uICdlbmFfY29tX2lzX2Rvb3JiZWxsX25lZWRlZCc6Ci4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9ldGhfY29tLmg6MTQ4OjQ5OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZv cmUgJzsnIHRva2VuCiAgMTQ4IHwgICAgICAgaW9fc3EtPnFpZCwgbnVtX2Rlc2NzLCBudW1fZW50 cmllc19uZWVkZWQpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uaDoxNTA6 NjI6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICd9JyB0b2tlbgogIDE1MCB8ICByZXR1cm4g bnVtX2VudHJpZXNfbmVlZGVkID4gaW9fc3EtPmVudHJpZXNfaW5fdHhfYnVyc3RfbGVmdDsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA7CiAgMTUxIHwgfQogICAgICB8IH4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZl cnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmg6IEluIGZ1bmN0aW9uICdlbmFfY29tX3dyaXRl X3NxX2Rvb3JiZWxsJzoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uaDoxNjA6 MjQ6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICAxNjAgfCAg ICAgICBpb19zcS0+cWlkLCB0YWlsKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2V0aF9jb20uYzo2NTc6MTogZXJyb3I6IGV4cGVj dGVkIGRlY2xhcmF0aW9uIG9yIHN0YXRlbWVudCBhdCBlbmQgb2YgaW5wdXQKICA2NTcgfCB9CiAg ICAgIHwgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2V0aF9jb20uYzo2OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfZXRoX2NvbS5oOjE1Njo2 OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICd0YWlsJyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVd CiAgMTU2IHwgIHUxNiB0YWlsID0gaW9fc3EtPnRhaWw7CiAgICAgIHwgICAgICBefn5+Ci4uL2Ry aXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmg6MTU1OjY6IGVycm9yOiB1bnVzZWQgdmFy aWFibGUgJ21heF9lbnRyaWVzX2luX3R4X2J1cnN0JyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVd CiAgMTU1IHwgIHUxNiBtYXhfZW50cmllc19pbl90eF9idXJzdCA9IGlvX3NxLT5sbHFfaW5mby5t YXhfZW50cmllc19pbl90eF9idXJzdDsKICAgICAgfCAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9ldGhfY29tLmM6NjU3OjE6IGVycm9yOiBu byByZXR1cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJv cj1yZXR1cm4tdHlwZV0KICA2NTcgfCB9CiAgICAgIHwgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwpbODUyLzE5NDVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfbmV0X2UxMDAwLmEucC9uZXRfZTEwMDBfaWdiX2V0aGRldi5jLm8KWzg1My8x OTQ1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX25ldF9lbmEuYS5wL25l dF9lbmFfYmFzZV9lbmFfY29tLmMubwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9uZXRfZW5h LmEucC9uZXRfZW5hX2Jhc2VfZW5hX2NvbS5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9u ZXRfZW5hLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9uZXQvZW5hIC1JLi4v ZHJpdmVycy9uZXQvZW5hIC1JLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UgLUkuLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfZGVmcyAtSWxpYi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9l dGhkZXYgLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9pbmNs dWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2ZyZWVic2Qv aW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2ZyZWVic2QvaW5jbHVkZSAtSWxpYi9saWJydGVf ZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwveDg2L2luY2x1ZGUgLUlsaWIvbGli cnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2Vh bCAtSS4uL2xpYi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRl X2t2YXJncyAtSWxpYi9saWJydGVfbWV0cmljcyAtSS4uL2xpYi9saWJydGVfbWV0cmljcyAtSWxp Yi9saWJydGVfdGVsZW1ldHJ5IC1JLi4vbGliL2xpYnJ0ZV90ZWxlbWV0cnkgLUlsaWIvbGlicnRl X25ldCAtSS4uL2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0 ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGli L2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4u L2xpYi9saWJydGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kg LUkuLi9kcml2ZXJzL2J1cy9wY2kvYnNkIC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRl X3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JbGliL2xpYnJ0 ZV90aW1lciAtSS4uL2xpYi9saWJydGVfdGltZXIgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMg LXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3Ig LU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVj YXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlz c2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAt V29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0 cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1w YWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1p bml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtRF9fQlNEX1ZJU0lCTEUgLWZQSUMgLW1hcmNoPW5h dGl2ZSAtbW5vLWF2eDUxMmYgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJO QUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVf bmV0X2VuYS5hLnAvbmV0X2VuYV9iYXNlX2VuYV9jb20uYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9y dGVfbmV0X2VuYS5hLnAvbmV0X2VuYV9iYXNlX2VuYV9jb20uYy5vLmQgLW8gZHJpdmVycy9saWJ0 bXBfcnRlX25ldF9lbmEuYS5wL25ldF9lbmFfYmFzZV9lbmFfY29tLmMubyAtYyAuLi9kcml2ZXJz L25ldC9lbmEvYmFzZS9lbmFfY29tLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9wbGF0Lmg6MjEsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2 ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2Ry aXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo2OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfcGxhdF9kcGRrLmg6Njg6MjQ6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJyBi ZWZvcmUgJ3ZvaWQnCiAgIDY4IHwgI2RlZmluZSBFTkFfVE9VQ0goeCkgKCh2b2lkKSh4KSkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX3BsYXRfZHBkay5oOjExNDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0VOQV9U T1VDSCcKICAxMTQgfCAgIEVOQV9UT1VDSChkZXYpLCAgICAgICAgICAgICBcCiAgICAgIHwgICBe fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjY4OjI5OiBl cnJvcjogZXhwZWN0ZWQgJyknIGJlZm9yZSAnKCcgdG9rZW4KICAgNjggfCAjZGVmaW5lIEVOQV9U T1VDSCh4KSAoKHZvaWQpKHgpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxMTQ6Mzogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvICdFTkFfVE9VQ0gnCiAgMTE0IHwgICBFTkFfVE9VQ0goZGV2KSwg ICAgICAgICAgICAgXAogICAgICB8ICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9wbGF0X2RwZGsuaDoxMTU6MjA6IGVycm9yOiBzdHJheSAnIyMnIGluIHByb2dyYW0KICAx MTUgfCAgIHJ0ZV9sb2coUlRFX0xPR18gIyMgbGV2ZWwsIGVuYV9sb2d0eXBlX2NvbSwgICAgICAg ICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9wbGF0X2RwZGsuaDoxMTY6MzU6IGVycm9yOiBzdHJheSAnIyMnIGluIHByb2dyYW0KICAx MTYgfCAgICAiW0VOQV9DT006ICVzXSIgZm10LCBfX2Z1bmNfXywgIyNhcmcpKSAgICAgICAgIFwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1MjozOiBlcnJvcjogZGF0YSBkZWZpbml0aW9u IGhhcyBubyB0eXBlIG9yIHN0b3JhZ2UgY2xhc3MgWy1XZXJyb3JdCiAgMTUyIHwgfSBlbmFfd2Fp dF9ldmVudF90OwogICAgICB8ICAgXn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfcGxhdF9kcGRrLmg6MTUyOjM6IGVycm9yOiB0eXBlIGRlZmF1bHRzIHRvICdpbnQn IGluIGRlY2xhcmF0aW9uIG9mICdlbmFfd2FpdF9ldmVudF90JyBbLVdlcnJvcj1pbXBsaWNpdC1p bnRdCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1MzoyOiBlcnJvcjogZXhwZWN0 ZWQgc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSAnZW5hX3dhaXRfZXZlbnRfdCcKICAg NTMgfCAgZW5hX3dhaXRfZXZlbnRfdCB3YWl0X2V2ZW50OwogICAgICB8ICBefn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2VuYV9j b21fbWVtX2FkZHJfc2V0JzoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjczOjc5 OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgIDczIHwgICBl bmFfdHJjX2VycihlbmFfZGV2LCAiRE1BIGFkZHJlc3MgaGFzIG1vcmUgYml0cyB0aGFuIHRoZSBk ZXZpY2Ugc3VwcG9ydHNcbiIpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjc0OjI0OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJl Zm9yZSAnfScgdG9rZW4KICAgNzQgfCAgIHJldHVybiBFTkFfQ09NX0lOVkFMOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgOwog ICA3NSB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2VuYV9jb21fYWRtaW5faW5pdF9zcSc6 Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo5Mzo1MzogZXJyb3I6IGV4cGVjdGVk IGV4cHJlc3Npb24gYmVmb3JlICc7JyB0b2tlbgogICA5MyB8ICAgZW5hX3RyY19lcnIoZW5hX2Rl diwgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjk0OjI1OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9r ZW4KICAgOTQgfCAgIHJldHVybiBFTkFfQ09NX05PX01FTTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgOwogICA5NSB8ICB9 CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFz ZS9lbmFfY29tLmM6ODU6MjI6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ2VuYV9kZXYnIFstV2Vy cm9yPXVudXNlZC12YXJpYWJsZV0KICAgODUgfCAgc3RydWN0IGVuYV9jb21fZGV2ICplbmFfZGV2 ID0gYWRtaW5fcXVldWUtPmVuYV9kZXY7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6IEluIGZ1bmN0aW9uICdlbmFf Y29tX2FkbWluX2luaXRfY3EnOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTE2 OjUzOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgMTE2IHwg ICBlbmFfdHJjX2VycihlbmFfZGV2LCAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTE3OjI1OiBlcnJvcjogZXhwZWN0 ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICAxMTcgfCAgIHJldHVybiBFTkFfQ09NX05PX01FTTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgOwogIDExOCB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgIAou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTA4OjIyOiBlcnJvcjogdW51c2VkIHZh cmlhYmxlICdlbmFfZGV2JyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgMTA4IHwgIHN0cnVj dCBlbmFfY29tX2RldiAqZW5hX2RldiA9IGFkbWluX3F1ZXVlLT5lbmFfZGV2OwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2Nv bS5jOiBJbiBmdW5jdGlvbiAnZW5hX2NvbV9hZG1pbl9pbml0X2FlbnEnOgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6MTQxOjUzOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBi ZWZvcmUgJzsnIHRva2VuCiAgMTQxIHwgICBlbmFfdHJjX2VycihlbmFfZGV2LCAiTWVtb3J5IGFs bG9jYXRpb24gZmFpbGVkXG4iKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6MTQyOjI1OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICAxNDIgfCAg IHJldHVybiBFTkFfQ09NX05PX01FTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBe CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgOwogIDE0MyB8ICB9CiAgICAgIHwgIH4g ICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 MTYyOjU4OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgMTYy IHwgICBlbmFfdHJjX2VycihlbmFfZGV2LCAiQUVOUSBoYW5kbGVycyBwb2ludGVyIGlzIE5VTExc biIpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjE2MzoyNDog ZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ30nIHRva2VuCiAgMTYzIHwgICByZXR1cm4gRU5B X0NPTV9JTlZBTDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgIDsKICAxNjQgfCAgfQogICAgICB8ICB+ICAgICAgICAgICAgICAg ICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6IEluIGZ1bmN0aW9uICdj b21wX2N0eHRfcmVsZWFzZSc6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxNzQ6 MTA6IGVycm9yOiAnc3RydWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnb2Nj dXBpZWQnCiAgMTc0IHwgIGNvbXBfY3R4LT5vY2N1cGllZCA9IGZhbHNlOwogICAgICB8ICAgICAg ICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2dl dF9jb21wX2N0eHQnOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTg0OjQxOiBl cnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgMTg0IHwgICAgICAg IGNvbW1hbmRfaWQsIGFkbWluX3F1ZXVlLT5xX2RlcHRoKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf Y29tLmM6MTg1OjE1OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICAxODUg fCAgIHJldHVybiBOVUxMOwogICAgICB8ICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAg ICAgICAgOwogIDE4NiB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzoxOTA6Mzk6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJl Zm9yZSAnOycgdG9rZW4KICAxOTAgfCAgICAgICAgIkNvbXBsZXRpb24gY29udGV4dCBpcyBOVUxM XG4iKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjE5MToxNTogZXJyb3I6IGV4cGVjdGVkICc7 JyBiZWZvcmUgJ30nIHRva2VuCiAgMTkxIHwgICByZXR1cm4gTlVMTDsKICAgICAgfCAgICAgICAg ICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgIDsKICAxOTIgfCAgfQogICAgICB8ICB+ICAg ICAgICAgICAgIApJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX3BsYXRfZHBkay5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX3BsYXQuaDoyMSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uYzoxOTQ6NDg6IGVycm9yOiAnc3RydWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1lbWJlciBu YW1lZCAnb2NjdXBpZWQnCiAgMTk0IHwgIGlmICh1bmxpa2VseShhZG1pbl9xdWV1ZS0+Y29tcF9j dHhbY29tbWFuZF9pZF0ub2NjdXBpZWQgJiYgY2FwdHVyZSkpIHsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwv aW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyAndW5saWtlbHknCiAgIDM4IHwgI2RlZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0 aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxOTY6NDM6IGVy cm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICAxOTYgfCAgICAgICAg IkNvbXBsZXRpb24gY29udGV4dCBpcyBvY2N1cGllZFxuIik7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6MTk3OjE1OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICAx OTcgfCAgIHJldHVybiBOVUxMOwogICAgICB8ICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAg ICAgICAgICAgOwogIDE5OCB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgCi4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyMDI6MzY6IGVycm9yOiAnc3RydWN0IGVuYV9jb21wX2N0 eCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnb2NjdXBpZWQnCiAgMjAyIHwgICBhZG1pbl9xdWV1ZS0+ Y29tcF9jdHhbY29tbWFuZF9pZF0ub2NjdXBpZWQgPSB0cnVlOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6IEluIGZ1bmN0aW9uICdfX2VuYV9jb21fc3VibWl0X2FkbWluX2NtZCc6Ci4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyMjY6NjI6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9u IGJlZm9yZSAnOycgdG9rZW4KICAyMjYgfCAgIGVuYV90cmNfZGJnKGFkbWluX3F1ZXVlLT5lbmFf ZGV2LCAiQWRtaW4gcXVldWUgaXMgZnVsbC5cbiIpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyMjg6MzY6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3Jl ICd9JyB0b2tlbgogIDIyOCB8ICAgcmV0dXJuIEVSUl9QVFIoRU5BX0NPTV9OT19TUEFDRSk7CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7CiAgMjI5IHwgIH0KICAgICAgfCAgfiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2NvbS5jOjI0MzoxMDogZXJyb3I6ICdzdHJ1Y3QgZW5hX2NvbXBfY3R4JyBoYXMgbm8gbWVtYmVy IG5hbWVkICdzdGF0dXMnCiAgMjQzIHwgIGNvbXBfY3R4LT5zdGF0dXMgPSBFTkFfQ01EX1NVQk1J VFRFRDsKICAgICAgfCAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6MjQ0OjEwOiBlcnJvcjogJ3N0cnVjdCBlbmFfY29tcF9jdHgnIGhhcyBubyBtZW1iZXIgbmFt ZWQgJ2NvbXBfc2l6ZScKICAyNDQgfCAgY29tcF9jdHgtPmNvbXBfc2l6ZSA9ICh1MzIpY29tcF9z aXplX2luX2J5dGVzOwogICAgICB8ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9jb20uYzoyNDU6MTA6IGVycm9yOiAnc3RydWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1l bWJlciBuYW1lZCAndXNlcl9jcWUnCiAgMjQ1IHwgIGNvbXBfY3R4LT51c2VyX2NxZSA9IGNvbXA7 CiAgICAgIHwgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjI0 NjoxMDogZXJyb3I6ICdzdHJ1Y3QgZW5hX2NvbXBfY3R4JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdj bWRfb3Bjb2RlJwogIDI0NiB8ICBjb21wX2N0eC0+Y21kX29wY29kZSA9IGNtZC0+YXFfY29tbW9u X2Rlc2NyaXB0b3Iub3Bjb2RlOwogICAgICB8ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2VuYV9jb21faW5pdF9jb21wX2N0eHQnOgou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Mjc3OjUzOiBlcnJvcjogZXhwZWN0ZWQg ZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgMjc3IHwgICBlbmFfdHJjX2VycihlbmFfZGV2 LCAiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEv YmFzZS9lbmFfY29tLmM6Mjc4OjI1OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9r ZW4KICAyNzggfCAgIHJldHVybiBFTkFfQ09NX05PX01FTTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgOwogIDI3OSB8ICB9 CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgIApJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQuaDoyMSwKICAgICAgICAgICAgICAgICBm cm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uaDo5LAogICAgICAgICAgICAgICAg IGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY6Ci4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxNTY6MjE6IGVycm9yOiAnX3dlJyB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAxNTYgfCAgIGVuYV93YWl0X2V2ZW50X3Qg Kl93ZSA9ICYod2FpdGV2ZW50KTsgICAgICAgICAgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgXn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyODQ6NDogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvICdFTkFfV0FJVF9FVkVOVF9JTklUJwogIDI4NCB8ICAgIEVOQV9X QUlUX0VWRU5UX0lOSVQoY29tcF9jdHgtPndhaXRfZXZlbnQpOwogICAgICB8ICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE1Njoy MTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KICAxNTYgfCAgIGVuYV93YWl0X2V2ZW50 X3QgKl93ZSA9ICYod2FpdGV2ZW50KTsgICAgICAgICAgXAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgXn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoyODQ6NDogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvICdFTkFfV0FJVF9FVkVOVF9JTklUJwogIDI4NCB8ICAgIEVO QV9XQUlUX0VWRU5UX0lOSVQoY29tcF9jdHgtPndhaXRfZXZlbnQpOwogICAgICB8ICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjI4NDozMjog ZXJyb3I6ICdzdHJ1Y3QgZW5hX2NvbXBfY3R4JyBoYXMgbm8gbWVtYmVyIG5hbWVkICd3YWl0X2V2 ZW50JwogIDI4NCB8ICAgIEVOQV9XQUlUX0VWRU5UX0lOSVQoY29tcF9jdHgtPndhaXRfZXZlbnQp OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfcGxhdF9kcGRrLmg6MTU2OjI5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvICdFTkFfV0FJVF9FVkVOVF9JTklUJwogIDE1NiB8ICAgZW5hX3dhaXRfZXZlbnRfdCAq X3dlID0gJih3YWl0ZXZlbnQpOyAgICAgICAgICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Mjcw OjIyOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdlbmFfZGV2JyBbLVdlcnJvcj11bnVzZWQtdmFy aWFibGVdCiAgMjcwIHwgIHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldiA9IGFkbWluX3F1ZXVl LT5lbmFfZGV2OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiAnZW5hX2NvbV9pbml0X2lvX3Nx JzoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjM1MDo1NDogZXJyb3I6IGV4cGVj dGVkIGV4cHJlc3Npb24gYmVmb3JlICc7JyB0b2tlbgogIDM1MCB8ICAgIGVuYV90cmNfZXJyKGVu YV9kZXYsICJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6MzUxOjI2OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAn fScgdG9rZW4KICAzNTEgfCAgICByZXR1cm4gRU5BX0NPTV9OT19NRU07CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgOwog IDM1MiB8ICAgfQogICAgICB8ICAgfiAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzozNzU6Njg6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9u IGJlZm9yZSAnOycgdG9rZW4KICAzNzUgfCAgICBlbmFfdHJjX2VycihlbmFfZGV2LCAiQm91bmNl IGJ1ZmZlciBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzozNzY6MjY6IGVycm9yOiBleHBlY3Rl ZCAnOycgYmVmb3JlICd9JyB0b2tlbgogIDM3NiB8ICAgIHJldHVybiBFTkFfQ09NX05PX01FTTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICA7CiAgMzc3IHwgICB9CiAgICAgIHwgICB+ICAgICAgICAgICAgICAgICAgICAg ICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiAnZW5hX2Nv bV9pbml0X2lvX2NxJzoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjQ0MDo1Mzog ZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICc7JyB0b2tlbgogIDQ0MCB8ICAgZW5h X3RyY19lcnIoZW5hX2RldiwgIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjQ0MToyNTogZXJyb3I6IGV4cGVjdGVkICc7 JyBiZWZvcmUgJ30nIHRva2VuCiAgNDQxIHwgICByZXR1cm4gRU5BX0NPTV9OT19NRU07CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgIDsKICA0NDIgfCAgfQogICAgICB8ICB+ICAgICAgICAgICAgICAgICAgICAgICAKLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiAnZW5hX2NvbV9oYW5kbGVf c2luZ2xlX2FkbWluX2NvbXBsZXRpb24nOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6NDYyOjY5OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAg NDYyIHwgICAgICAgICJjb21wX2N0eCBpcyBOVUxMLiBDaGFuZ2luZyB0aGUgYWRtaW4gcXVldWUg cnVubmluZyBzdGF0ZVxuIik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9jb20uYzo0NjQ6MTA6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICd9JyB0 b2tlbgogIDQ2NCB8ICAgcmV0dXJuOwogICAgICB8ICAgICAgICAgIF4KICAgICAgfCAgICAgICAg ICA7CiAgNDY1IHwgIH0KICAgICAgfCAgfiAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9jb20uYzo0Njc6MTA6IGVycm9yOiAnc3RydWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1l bWJlciBuYW1lZCAnc3RhdHVzJwogIDQ2NyB8ICBjb21wX2N0eC0+c3RhdHVzID0gRU5BX0NNRF9D T01QTEVURUQ7CiAgICAgIHwgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2NvbS5jOjQ2ODoxMDogZXJyb3I6ICdzdHJ1Y3QgZW5hX2NvbXBfY3R4JyBoYXMgbm8gbWVtYmVy IG5hbWVkICdjb21wX3N0YXR1cycKICA0NjggfCAgY29tcF9jdHgtPmNvbXBfc3RhdHVzID0gY3Fl LT5hY3FfY29tbW9uX2Rlc2NyaXB0b3Iuc3RhdHVzOwogICAgICB8ICAgICAgICAgIF5+Ci4uL2Ry aXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo0NzA6MTQ6IGVycm9yOiAnc3RydWN0IGVuYV9j b21wX2N0eCcgaGFzIG5vIG1lbWJlciBuYW1lZCAndXNlcl9jcWUnCiAgNDcwIHwgIGlmIChjb21w X2N0eC0+dXNlcl9jcWUpCiAgICAgIHwgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9jb20uYzo0NzE6MTg6IGVycm9yOiAnc3RydWN0IGVuYV9jb21wX2N0eCcgaGFz IG5vIG1lbWJlciBuYW1lZCAndXNlcl9jcWUnCiAgNDcxIHwgICBtZW1jcHkoY29tcF9jdHgtPnVz ZXJfY3FlLCAodm9pZCAqKWNxZSwgY29tcF9jdHgtPmNvbXBfc2l6ZSk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NDcxOjUxOiBl cnJvcjogJ3N0cnVjdCBlbmFfY29tcF9jdHgnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2NvbXBfc2l6 ZScKICA0NzEgfCAgIG1lbWNweShjb21wX2N0eC0+dXNlcl9jcWUsICh2b2lkICopY3FlLCBjb21w X2N0eC0+Y29tcF9zaXplKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfcGxhdC5oOjIxLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2 ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NjoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X3BsYXRfZHBkay5oOjE5MToyMTogZXJyb3I6ICdfd2UnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIDE5MSB8ICAgZW5hX3dhaXRfZXZlbnRfdCAqX3dlID0gJih3YWl0 ZXZlbnQpOyAgICAgICAgICBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefn4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjQ3NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8gJ0VOQV9XQUlUX0VWRU5UX1NJR05BTCcKICA0NzQgfCAgIEVOQV9XQUlUX0VWRU5UX1NJ R05BTChjb21wX2N0eC0+d2FpdF9ldmVudCk7CiAgICAgIHwgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjQ3NDozMzogZXJyb3I6ICdzdHJ1 Y3QgZW5hX2NvbXBfY3R4JyBoYXMgbm8gbWVtYmVyIG5hbWVkICd3YWl0X2V2ZW50JwogIDQ3NCB8 ICAgRU5BX1dBSVRfRVZFTlRfU0lHTkFMKGNvbXBfY3R4LT53YWl0X2V2ZW50KTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9wbGF0X2RwZGsuaDoxOTE6Mjk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0VO QV9XQUlUX0VWRU5UX1NJR05BTCcKICAxOTEgfCAgIGVuYV93YWl0X2V2ZW50X3QgKl93ZSA9ICYo d2FpdGV2ZW50KTsgICAgICAgICAgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlv biAnZW5hX2NvbV9jb21wX3N0YXR1c190b19lcnJubyc6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNl L2VuYV9jb20uYzo1MTk6NTA6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycg dG9rZW4KICA1MTkgfCAgICAgICAgIkFkbWluIGNvbW1hbmQgZmFpbGVkWyV1XVxuIiwgY29tcF9z dGF0dXMpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1Mzc6MjM6IGVycm9y OiBleHBlY3RlZCAnOycgYmVmb3JlICd9JyB0b2tlbgogIDUzNyB8ICByZXR1cm4gRU5BX0NPTV9J TlZBTDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICA7CiAgNTM4IHwgfQogICAgICB8IH4gICAgICAgICAgICAgICAgICAgICAgCi4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1Mzg6MTogZXJyb3I6IG5vIHJldHVybiBz dGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yPXJldHVybi10 eXBlXQogIDUzOCB8IH0KICAgICAgfCBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u Yzo1MTQ6Njk6IGVycm9yOiB1bnVzZWQgcGFyYW1ldGVyICdhZG1pbl9xdWV1ZScgWy1XZXJyb3I9 dW51c2VkLXBhcmFtZXRlcl0KICA1MTQgfCBzdGF0aWMgaW50IGVuYV9jb21fY29tcF9zdGF0dXNf dG9fZXJybm8oc3RydWN0IGVuYV9jb21fYWRtaW5fcXVldWUgKmFkbWluX3F1ZXVlLAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5j OiBJbiBmdW5jdGlvbiAnZW5hX2NvbV93YWl0X2FuZF9wcm9jZXNzX2FkbWluX2NxX3BvbGxpbmcn OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NTYyOjE1OiBlcnJvcjogJ3N0cnVj dCBlbmFfY29tcF9jdHgnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0YXR1cycKICA1NjIgfCAgIGlm IChjb21wX2N0eC0+c3RhdHVzICE9IEVOQV9DTURfU1VCTUlUVEVEKQogICAgICB8ICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjU2Nzo1MTogZXJyb3I6 IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICc7JyB0b2tlbgogIDU2NyB8ICAgICAgICAgIldh aXQgZm9yIGNvbXBsZXRpb24gKHBvbGxpbmcpIHRpbWVvdXRcbiIpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6NTc1OjEzOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAn fScgdG9rZW4KICA1NzUgfCAgICBnb3RvIGVycjsKICAgICAgfCAgICAgICAgICAgICBeCiAgICAg IHwgICAgICAgICAgICAgOwogIDU3NiB8ICAgfQogICAgICB8ICAgfiAgICAgICAgICAKSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDox OCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0 Lmg6MjEsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFf Y29tLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9jb20uYzo2OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NTgyOjIzOiBlcnJv cjogJ3N0cnVjdCBlbmFfY29tcF9jdHgnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0YXR1cycKICA1 ODIgfCAgaWYgKHVubGlrZWx5KGNvbXBfY3R4LT5zdGF0dXMgPT0gRU5BX0NNRF9BQk9SVEVEKSkg ewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbGlicnRlX2VhbC9pbmNs dWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvICd1bmxpa2VseScKICAgMzggfCAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9l eHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjU4Mzo2MTogZXJyb3I6 IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICc7JyB0b2tlbgogIDU4MyB8ICAgZW5hX3RyY19l cnIoYWRtaW5fcXVldWUtPmVuYV9kZXYsICJDb21tYW5kIHdhcyBhYm9ydGVkXG4iKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo1ODg6MTI6IGVycm9yOiBl eHBlY3RlZCAnOycgYmVmb3JlICd9JyB0b2tlbgogIDU4OCB8ICAgZ290byBlcnI7CiAgICAgIHwg ICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICA7CiAgNTg5IHwgIH0KICAgICAgfCAgfiAg ICAgICAgICAKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9wbGF0X2RwZGsuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9wbGF0Lmg6MjEsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzo2OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6NTkxOjE5OiBlcnJvcjogJ3N0cnVjdCBlbmFfY29tcF9jdHgnIGhhcyBubyBtZW1iZXIgbmFt ZWQgJ3N0YXR1cycKICA1OTEgfCAgRU5BX1dBUk4oY29tcF9jdHgtPnN0YXR1cyAhPSBFTkFfQ01E X0NPTVBMRVRFRCwKICAgICAgfCAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbGlicnRlX2Vh bC9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvICd1bmxpa2VseScKICAgMzggfCAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVp bHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjU5MToyOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0VOQV9XQVJOJwogIDU5MSB8ICBFTkFfV0FSTihj b21wX2N0eC0+c3RhdHVzICE9IEVOQV9DTURfQ09NUExFVEVELAogICAgICB8ICBefn5+fn5+fgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQuaDoy MSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u aDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2Nv bS5jOjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxMzU6NDE6IGVy cm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICAxMzUgfCAgICAgX19G SUxFX18sIF9fZnVuY19fLCBfX0xJTkVfXywgIyNhcmcpOyAgICAgICAgXAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9jb20uYzo1OTE6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdFTkFfV0FS TicKICA1OTEgfCAgRU5BX1dBUk4oY29tcF9jdHgtPnN0YXR1cyAhPSBFTkFfQ01EX0NPTVBMRVRF RCwKICAgICAgfCAgXn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBk ay5oOjEzNjozOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICAxMzYgfCAg IH0gICAgICAgICAgICAgIFwKICAgICAgfCAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5h X2NvbS5jOjU5MToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0VOQV9XQVJOJwogIDU5 MSB8ICBFTkFfV0FSTihjb21wX2N0eC0+c3RhdHVzICE9IEVOQV9DTURfQ09NUExFVEVELAogICAg ICB8ICBefn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NTk1OjU4OiBl cnJvcjogJ3N0cnVjdCBlbmFfY29tcF9jdHgnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2NvbXBfc3Rh dHVzJwogIDU5NSB8ICByZXQgPSBlbmFfY29tX2NvbXBfc3RhdHVzX3RvX2Vycm5vKGFkbWluX3F1 ZXVlLCBjb21wX2N0eC0+Y29tcF9zdGF0dXMpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2Vu YS9iYXNlL2VuYV9jb20uYzo1OTY6MTogZXJyb3I6IGxhYmVsICdlcnInIGRlZmluZWQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1sYWJlbF0KICA1OTYgfCBlcnI6CiAgICAgIHwgXn5+Ci4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2VuYV9jb21fc2V0 X2xscSc6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo2Mzc6NzA6IGVycm9yOiBl eHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICA2MzcgfCAgIGVuYV90cmNfZXJy KGVuYV9kZXYsICJGYWlsZWQgdG8gc2V0IExMUSBjb25maWd1cmF0aW9uczogJWRcbiIsIHJldCk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6 NjM5OjEzOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICA2MzkgfCAgcmV0 dXJuIHJldDsKICAgICAgfCAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgOwogIDY0 MCB8IH0KICAgICAgfCB+ICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uYzo2NDA6MTogZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJu aW5nIG5vbi12b2lkIFstV2Vycm9yPXJldHVybi10eXBlXQogIDY0MCB8IH0KICAgICAgfCBeCi4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2VuYV9jb21fY29u ZmlnX2xscV9pbmZvJzoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY2MDoyMzog ZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICc7JyB0b2tlbgogIDY2MCB8ICAgICAg ICBzdXBwb3J0ZWRfZmVhdCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY2MToxODogZXJyb3I6IGV4cGVjdGVkICc7JyBi ZWZvcmUgJ30nIHRva2VuCiAgNjYxIHwgICByZXR1cm4gLUVJTlZBTDsKICAgICAgfCAgICAgICAg ICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgIDsKICA2NjIgfCAgfQogICAgICB8 ICB+ICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6Njc1 OjI1OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgNjc1IHwg ICAgICAgICAgc3VwcG9ydGVkX2ZlYXQpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY3NjoyMDogZXJyb3I6IGV4cGVj dGVkICc7JyBiZWZvcmUgJ30nIHRva2VuCiAgNjc2IHwgICAgIHJldHVybiAtRUlOVkFMOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIDsKICA2 NzcgfCAgICB9CiAgICAgIHwgICAgfiAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjY4MjozNjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3Jl ICc7JyB0b2tlbgogIDY4MiB8ICAgICAgICAgbGxxX2luZm8tPmRlc2Nfc3RyaWRlX2N0cmwpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6NjgyOjM3OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAn fScgdG9rZW4KICA2ODIgfCAgICAgICAgIGxscV9pbmZvLT5kZXNjX3N0cmlkZV9jdHJsKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwogIDY4MyB8ICAgfQogICAgICB8ICAgfiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjcwNDoyNDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICc7JyB0 b2tlbgogIDcwNCB8ICAgICAgICAgc3VwcG9ydGVkX2ZlYXQpOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NzA1OjE5OiBl cnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICA3MDUgfCAgICByZXR1cm4gLUVJ TlZBTDsKICAgICAgfCAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgOwogIDcwNiB8ICAgfQogICAgICB8ICAgfiAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjcxMTozOTogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24g YmVmb3JlICc7JyB0b2tlbgogIDcxMSB8ICAgICAgICBsbHFfaW5mby0+ZGVzY19saXN0X2VudHJ5 X3NpemUpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NzExOjQwOiBlcnJvcjogZXhwZWN0ZWQg JzsnIGJlZm9yZSAnfScgdG9rZW4KICA3MTEgfCAgICAgICAgbGxxX2luZm8tPmRlc2NfbGlzdF9l bnRyeV9zaXplKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwogIDcx MiB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NzE4OjM5OiBlcnJvcjogZXhwZWN0ZWQg ZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgNzE4IHwgICAgICAgIGxscV9pbmZvLT5kZXNj X2xpc3RfZW50cnlfc2l6ZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3MTk6MTg6IGVycm9y OiBleHBlY3RlZCAnOycgYmVmb3JlICd9JyB0b2tlbgogIDcxOSB8ICAgcmV0dXJuIC1FSU5WQUw7 CiAgICAgIHwgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICA7CiAg NzIwIHwgIH0KICAgICAgfCAgfiAgICAgICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jh c2UvZW5hX2NvbS5jOjc0MjoyNDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICc7 JyB0b2tlbgogIDc0MiB8ICAgICAgICAgc3VwcG9ydGVkX2ZlYXQpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NzQzOjE5 OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICA3NDMgfCAgICByZXR1cm4g LUVJTlZBTDsKICAgICAgfCAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgOwogIDc0NCB8ICAgfQogICAgICB8ICAgfiAgICAgICAgICAgICAgICAKLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjc0OTo0MjogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Np b24gYmVmb3JlICc7JyB0b2tlbgogIDc0OSB8ICAgICAgICBsbHFfaW5mby0+ZGVzY3NfbnVtX2Jl Zm9yZV9oZWFkZXIpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NzQ5OjQzOiBlcnJvcjog ZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICA3NDkgfCAgICAgICAgbGxxX2luZm8tPmRl c2NzX251bV9iZWZvcmVfaGVhZGVyKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOwogIDc1MCB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6NzY1 OjY1OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgNzY1IHwg ICBlbmFfdHJjX2VycihlbmFfZGV2LCAiQ2Fubm90IHNldCBMTFEgY29uZmlndXJhdGlvbjogJWRc biIsIHJjKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6NzY3OjEyOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICA3NjcgfCAg cmV0dXJuIHJjOwogICAgICB8ICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgOwogIDc2 OCB8IH0KICAgICAgfCB+ICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2Nv bS5jOjc2ODoxOiBlcnJvcjogbm8gcmV0dXJuIHN0YXRlbWVudCBpbiBmdW5jdGlvbiByZXR1cm5p bmcgbm9uLXZvaWQgWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiAgNzY4IHwgfQogICAgICB8IF4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0Lmg6MjEs CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmg6 OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u Yzo2OgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6IEluIGZ1bmN0aW9uICdlbmFf Y29tX3dhaXRfYW5kX3Byb2Nlc3NfYWRtaW5fY3FfaW50ZXJydXB0cyc6Ci4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxNjQ6MjE6IGVycm9yOiAnX3dlJyB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAxNjQgfCAgIGVuYV93YWl0X2V2ZW50X3Qg Kl93ZSA9ICYod2FpdGV2ZW50KTsgICAgICAgICAgXAogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgXn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3NzY6Mjogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvICdFTkFfV0FJVF9FVkVOVF9XQUlUJwogIDc3NiB8ICBFTkFfV0FJ VF9FVkVOVF9XQUlUKGNvbXBfY3R4LT53YWl0X2V2ZW50LAogICAgICB8ICBefn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3NzY6MzA6IGVycm9yOiAn c3RydWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnd2FpdF9ldmVudCcKICA3 NzYgfCAgRU5BX1dBSVRfRVZFTlRfV0FJVChjb21wX2N0eC0+d2FpdF9ldmVudCwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2Vu YV9wbGF0X2RwZGsuaDoxNjQ6Mjk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ0VOQV9X QUlUX0VWRU5UX1dBSVQnCiAgMTY0IHwgICBlbmFfd2FpdF9ldmVudF90ICpfd2UgPSAmKHdhaXRl dmVudCk7ICAgICAgICAgIFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9wbGF0X2RwZGsuaDoxODU6NDQ6IGVy cm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICAxODUgfCAgICAgIlRp bWVvdXQgd2FpdGluZyBmb3IgIiAjd2FpdGV2ZW50ICJcbiIpOyAgICAgICBcCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOjc3NjoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0VO QV9XQUlUX0VWRU5UX1dBSVQnCiAgNzc2IHwgIEVOQV9XQUlUX0VWRU5UX1dBSVQoY29tcF9jdHgt PndhaXRfZXZlbnQsCiAgICAgIHwgIF5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE4ODoyOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9y ZSAnfScgdG9rZW4KICAxODggfCAgfSB3aGlsZSAoMCkKICAgICAgfCAgXgouLi9kcml2ZXJzL25l dC9lbmEvYmFzZS9lbmFfY29tLmM6Nzc2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn RU5BX1dBSVRfRVZFTlRfV0FJVCcKICA3NzYgfCAgRU5BX1dBSVRfRVZFTlRfV0FJVChjb21wX2N0 eC0+d2FpdF9ldmVudCwKICAgICAgfCAgXn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXRfZHBkay5oOjE4LAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX3BsYXQuaDoyMSwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uaDo5 LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5j OjY6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3ODQ6MjM6IGVycm9yOiAnc3Ry dWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RhdHVzJwogIDc4NCB8ICBp ZiAodW5saWtlbHkoY29tcF9jdHgtPnN0YXR1cyA9PSBFTkFfQ01EX1NVQk1JVFRFRCkpIHsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xpYnJ0ZV9lYWwvaW5jbHVkZS9y dGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byAndW5saWtlbHknCiAgIDM4IHwgI2RlZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0 KCEhKHgpLCAwKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3OTA6MTU6IGVycm9yOiAnc3Ry dWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RhdHVzJwogIDc5MCB8ICAg aWYgKGNvbXBfY3R4LT5zdGF0dXMgPT0gRU5BX0NNRF9DT01QTEVURUQpIHsKICAgICAgfCAgICAg ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo3OTM6NzI6IGVy cm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICA3OTMgfCAgICAgICAg IGNvbXBfY3R4LT5jbWRfb3Bjb2RlLCBhZG1pbl9xdWV1ZS0+YXV0b19wb2xsaW5nID8gIk9OIiA6 ICJPRkYiKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjc5NjozMzogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ30nIHRva2VuCiAg Nzk2IHwgICAgIGFkbWluX3F1ZXVlLT5wb2xsaW5nID0gdHJ1ZTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDsKICA3OTcgfCAgIH0gZWxzZSB7CiAgICAgIHwgICB+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo4MDA6NDg6IGVy cm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICA4MDAgfCAgICAgICAg IGNvbXBfY3R4LT5jbWRfb3Bjb2RlLCBjb21wX2N0eC0+c3RhdHVzKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOjgwMDo0OTogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ30n IHRva2VuCiAgODAwIHwgICAgICAgICBjb21wX2N0eC0+Y21kX29wY29kZSwgY29tcF9jdHgtPnN0 YXR1cyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDsKICA4MDEgfCAgIH0KICAgICAgfCAgIH4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo4 MTM6NTg6IGVycm9yOiAnc3RydWN0IGVuYV9jb21wX2N0eCcgaGFzIG5vIG1lbWJlciBuYW1lZCAn Y29tcF9zdGF0dXMnCiAgODEzIHwgIHJldCA9IGVuYV9jb21fY29tcF9zdGF0dXNfdG9fZXJybm8o YWRtaW5fcXVldWUsIGNvbXBfY3R4LT5jb21wX3N0YXR1cyk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOiBJbiBmdW5jdGlvbiAnZW5hX2NvbV9yZWdfYmFyX3Jl YWQzMic6Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo4NjU6Mjc6IGVycm9yOiBl eHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICA4NjUgfCAgICAgICAgcmVhZF9y ZXNwLT5yZWdfb2ZmKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjg2NzoxMjogZXJyb3I6IGV4cGVjdGVkICc7JyBi ZWZvcmUgJ30nIHRva2VuCiAgODY3IHwgICBnb3RvIGVycjsKICAgICAgfCAgICAgICAgICAgIF4K ICAgICAgfCAgICAgICAgICAgIDsKICA4NjggfCAgfQogICAgICB8ICB+ICAgICAgICAgIAouLi9k cml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6ODcxOjY0OiBlcnJvcjogZXhwZWN0ZWQgZXhw cmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAgODcxIHwgICBlbmFfdHJjX2VycihlbmFfZGV2LCAi UmVhZCBmYWlsdXJlOiB3cm9uZyBvZmZzZXQgcHJvdmlkZWRcbiIpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjg3MjozMTogZXJyb3I6IGV4cGVjdGVk ICc7JyBiZWZvcmUgJ30nIHRva2VuCiAgODcyIHwgICByZXQgPSBFTkFfTU1JT19SRUFEX1RJTUVP VVQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDsKICA4NzMgfCAgfSBlbHNlIHsKICAgICAgfCAgfiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9j b20uYzo4NzY6MTogZXJyb3I6IGxhYmVsICdlcnInIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vy cm9yPXVudXNlZC1sYWJlbF0KICA4NzYgfCBlcnI6CiAgICAgIHwgXn5+Ci4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2VuYV9jb21fZGVzdHJveV9pb19zcSc6 Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo5MzA6Njc6IGVycm9yOiBleHBlY3Rl ZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KICA5MzAgfCAgIGVuYV90cmNfZXJyKGVuYV9k ZXYsICJGYWlsZWQgdG8gZGVzdHJveSBpbyBzcSBlcnJvcjogJWRcbiIsIHJldCk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6OTMyOjEzOiBlcnJv cjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KICA5MzIgfCAgcmV0dXJuIHJldDsKICAg ICAgfCAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgOwogIDkzMyB8IH0KICAgICAg fCB+ICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo5MzM6MTog ZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lk IFstV2Vycm9yPXJldHVybi10eXBlXQogIDkzMyB8IH0KICAgICAgfCBeCi4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ3dhaXRfZm9yX3Jlc2V0X3N0YXRlJzoK Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjk4Njo1NTogZXJyb3I6IGV4cGVjdGVk IGV4cHJlc3Npb24gYmVmb3JlICc7JyB0b2tlbgogIDk4NiB8ICAgIGVuYV90cmNfZXJyKGVuYV9k ZXYsICJSZWcgcmVhZCB0aW1lb3V0IG9jY3VycmVkXG4iKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzo5ODc6MzM6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICd9 JyB0b2tlbgogIDk4NyB8ICAgIHJldHVybiBFTkFfQ09NX1RJTUVSX0VYUElSRUQ7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7CiAgOTg4IHwgICB9CiAgICAgIHwgICB+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVu Y3Rpb24gJ2VuYV9jb21fZ2V0X2ZlYXR1cmVfZXgnOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6MTAyNjo2NzogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICc7JyB0 b2tlbgogMTAyNiB8ICAgZW5hX3RyY19kYmcoZW5hX2RldiwgIkZlYXR1cmUgJWQgaXNuJ3Qgc3Vw cG9ydGVkXG4iLCBmZWF0dXJlX2lkKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzoxMDI3OjMwOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAn fScgdG9rZW4KIDEwMjcgfCAgIHJldHVybiBFTkFfQ09NX1VOU1VQUE9SVEVEOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOwogMTAyOCB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMDQ1OjU0OiBlcnJvcjogZXhw ZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAxMDQ1IHwgICBlbmFfdHJjX2Vycihl bmFfZGV2LCAiTWVtb3J5IGFkZHJlc3Mgc2V0IGZhaWxlZFxuIik7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv bmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMDQ2OjE0OiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9y ZSAnfScgdG9rZW4KIDEwNDYgfCAgIHJldHVybiByZXQ7CiAgICAgIHwgICAgICAgICAgICAgIF4K ICAgICAgfCAgICAgICAgICAgICAgOwogMTA0NyB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAK Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEwNjM6MjQ6IGVycm9yOiBleHBlY3Rl ZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KIDEwNjMgfCAgICAgICAgZmVhdHVyZV9pZCwg cmV0KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjEwNjU6MTM6IGVycm9yOiBleHBlY3RlZCAnOycgYmVmb3JlICd9JyB0 b2tlbgogMTA2NSB8ICByZXR1cm4gcmV0OwogICAgICB8ICAgICAgICAgICAgIF4KICAgICAgfCAg ICAgICAgICAgICA7CiAxMDY2IHwgfQogICAgICB8IH4gICAgICAgICAgICAKLi4vZHJpdmVycy9u ZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEwNjY6MTogZXJyb3I6IG5vIHJldHVybiBzdGF0ZW1lbnQg aW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yPXJldHVybi10eXBlXQogMTA2 NiB8IH0KICAgICAgfCBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVu Y3Rpb24gJ2VuYV9jb21faW5kaXJlY3RfdGFibGVfYWxsb2NhdGUnOgouLi9kcml2ZXJzL25ldC9l bmEvYmFzZS9lbmFfY29tLmM6MTE3Nzo0MzogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVm b3JlICc7JyB0b2tlbgogMTE3NyB8ICAgICAgICAxIDw8IGdldF9yZXNwLnUuaW5kX3RhYmxlLm1h eF9zaXplKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMTc4OjI0OiBlcnJvcjogZXhw ZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KIDExNzggfCAgIHJldHVybiBFTkFfQ09NX0lOVkFM OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgOwogMTE3OSB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgCi4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzogSW4gZnVuY3Rpb24gJ2VuYV9jb21fY3Jl YXRlX2lvX3NxJzoKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEyNzg6NTU6IGVy cm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KIDEyNzggfCAgICBlbmFf dHJjX2VycihlbmFfZGV2LCAiTWVtb3J5IGFkZHJlc3Mgc2V0IGZhaWxlZFxuIik7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTI3OToxNTogZXJyb3I6IGV4cGVjdGVk ICc7JyBiZWZvcmUgJ30nIHRva2VuCiAxMjc5IHwgICAgcmV0dXJuIHJldDsKICAgICAgfCAgICAg ICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgIDsKIDEyODAgfCAgIH0KICAgICAgfCAg IH4gICAgICAgICAgICAKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEyODk6Njc6 IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4KIDEyODkgfCAgIGVu YV90cmNfZXJyKGVuYV9kZXYsICJGYWlsZWQgdG8gY3JlYXRlIElPIFNRLiBlcnJvcjogJWRcbiIs IHJldCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6MTI5MDoxNDogZXJyb3I6IGV4cGVjdGVkICc7JyBiZWZvcmUgJ30nIHRva2VuCiAxMjkwIHwg ICByZXR1cm4gcmV0OwogICAgICB8ICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAg IDsKIDEyOTEgfCAgfQogICAgICB8ICB+ICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9jb20uYzoxMzA3OjgxOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUg JzsnIHRva2VuCiAxMzA3IHwgIGVuYV90cmNfZGJnKGVuYV9kZXYsICJDcmVhdGVkIHNxWyV1XSwg ZGVwdGhbJXVdXG4iLCBpb19zcS0+aWR4LCBpb19zcS0+cV9kZXB0aCk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMzA5 OjEzOiBlcnJvcjogZXhwZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KIDEzMDkgfCAgcmV0dXJu IHJldDsKICAgICAgfCAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgOwogMTMxMCB8 IH0KICAgICAgfCB+ICAgICAgICAgICAgCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20u YzoxMzEwOjE6IGVycm9yOiBubyByZXR1cm4gc3RhdGVtZW50IGluIGZ1bmN0aW9uIHJldHVybmlu ZyBub24tdm9pZCBbLVdlcnJvcj1yZXR1cm4tdHlwZV0KIDEzMTAgfCB9CiAgICAgIHwgXgouLi9k cml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6IEluIGZ1bmN0aW9uICdlbmFfY29tX3VwZGF0 ZV9pbnRyX2RlbGF5X3Jlc29sdXRpb24nOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6MTM0MToxMDc6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnOycgdG9rZW4K IDEzNDEgfCAgIGVuYV90cmNfZXJyKGVuYV9kZXYsICJJbGxlZ2FsIGludHJfZGVsYXlfcmVzb2x1 dGlvbiBwcm92aWRlZC4gR29pbmcgdG8gdXNlIGRlZmF1bHQgMSB1c2VjIHJlc29sdXRpb25cbiIp OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMzQyOjYxOiBlcnJvcjogZXhw ZWN0ZWQgJzsnIGJlZm9yZSAnfScgdG9rZW4KIDEzNDIgfCAgIGludHJfZGVsYXlfcmVzb2x1dGlv biA9IEVOQV9ERUZBVUxUX0lOVFJfREVMQVlfUkVTT0xVVElPTjsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOwogMTM0MyB8ICB9CiAgICAgIHwgIH4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6IEluIGZ1bmN0aW9uICdlbmFfY29tX2V4ZWN1dGVfYWRtaW5fY29tbWFuZCc6Ci4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMzc5OjI3OiBlcnJvcjogZXhwZWN0ZWQg ZXhwcmVzc2lvbiBiZWZvcmUgJzsnIHRva2VuCiAxMzc5IHwgICAgICAgICBQVFJfRVJSKGNvbXBf Y3R4KSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0 L2VuYS9iYXNlL2VuYV9jb20uYzozMDA1OjE6IGVycm9yOiBleHBlY3RlZCBkZWNsYXJhdGlvbiBv ciBzdGF0ZW1lbnQgYXQgZW5kIG9mIGlucHV0CiAzMDA1IHwgfQogICAgICB8IF4KLi4vZHJpdmVy cy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjMwMDU6MTogZXJyb3I6IGV4cGVjdGVkIGRlY2xhcmF0 aW9uIG9yIHN0YXRlbWVudCBhdCBlbmQgb2YgaW5wdXQKLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2Uv ZW5hX2NvbS5jOjEzNzE6NjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAncmV0JyBbLVdlcnJvcj11 bnVzZWQtdmFyaWFibGVdCiAxMzcxIHwgIGludCByZXQ7CiAgICAgIHwgICAgICBefn4KLi4vZHJp dmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjMwMDU6MTogZXJyb3I6IGNvbnRyb2wgcmVhY2hl cyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24gWy1XZXJyb3I9cmV0dXJuLXR5cGVdCiAzMDA1IHwg fQogICAgICB8IF4KQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29t LmM6MTMzNToxMzogZXJyb3I6ICdlbmFfY29tX3VwZGF0ZV9pbnRyX2RlbGF5X3Jlc29sdXRpb24n IGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KIDEzMzUgfCBz dGF0aWMgdm9pZCBlbmFfY29tX3VwZGF0ZV9pbnRyX2RlbGF5X3Jlc29sdXRpb24oc3RydWN0IGVu YV9jb21fZGV2ICplbmFfZGV2LAogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTMx MjoxMjogZXJyb3I6ICdlbmFfY29tX2luZF90YmxfY29udmVydF90b19kZXZpY2UnIGRlZmluZWQg YnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KIDEzMTIgfCBzdGF0aWMgaW50 IGVuYV9jb21faW5kX3RibF9jb252ZXJ0X3RvX2RldmljZShzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVu YV9kZXYpCiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEyMzg6MTI6IGVycm9yOiAnZW5h X2NvbV9jcmVhdGVfaW9fc3EnIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1m dW5jdGlvbl0KIDEyMzggfCBzdGF0aWMgaW50IGVuYV9jb21fY3JlYXRlX2lvX3NxKHN0cnVjdCBl bmFfY29tX2RldiAqZW5hX2RldiwKICAgICAgfCAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMjE3OjEzOiBlcnJvcjogJ2Vu YV9jb21faW5kaXJlY3RfdGFibGVfZGVzdHJveScgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJy b3I9dW51c2VkLWZ1bmN0aW9uXQogMTIxNyB8IHN0YXRpYyB2b2lkIGVuYV9jb21faW5kaXJlY3Rf dGFibGVfZGVzdHJveShzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYpCiAgICAgIHwgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9i YXNlL2VuYV9jb20uYzoxMTU5OjEyOiBlcnJvcjogJ2VuYV9jb21faW5kaXJlY3RfdGFibGVfYWxs b2NhdGUnIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KIDEx NTkgfCBzdGF0aWMgaW50IGVuYV9jb21faW5kaXJlY3RfdGFibGVfYWxsb2NhdGUoc3RydWN0IGVu YV9jb21fZGV2ICplbmFfZGV2LAogICAgICB8ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6MTE0NjoxMzog ZXJyb3I6ICdlbmFfY29tX2hhc2hfY3RybF9kZXN0cm95JyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBb LVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiAxMTQ2IHwgc3RhdGljIHZvaWQgZW5hX2NvbV9oYXNo X2N0cmxfZGVzdHJveShzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYpCiAgICAgIHwgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9l bmFfY29tLmM6MTEzMDoxMjogZXJyb3I6ICdlbmFfY29tX2hhc2hfY3RybF9pbml0JyBkZWZpbmVk IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiAxMTMwIHwgc3RhdGljIGlu dCBlbmFfY29tX2hhc2hfY3RybF9pbml0KHN0cnVjdCBlbmFfY29tX2RldiAqZW5hX2RldikKICAg ICAgfCAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5h L2Jhc2UvZW5hX2NvbS5jOjExMTc6MTM6IGVycm9yOiAnZW5hX2NvbV9oYXNoX2tleV9kZXN0cm95 JyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiAxMTE3IHwg c3RhdGljIHZvaWQgZW5hX2NvbV9oYXNoX2tleV9kZXN0cm95KHN0cnVjdCBlbmFfY29tX2RldiAq ZW5hX2RldikKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEwOTg6MTI6IGVycm9yOiAnZW5hX2NvbV9o YXNoX2tleV9hbGxvY2F0ZScgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1 bmN0aW9uXQogMTA5OCB8IHN0YXRpYyBpbnQgZW5hX2NvbV9oYXNoX2tleV9hbGxvY2F0ZShzdHJ1 Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYpCiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzoxMDg2OjEzOiBl cnJvcjogJ2VuYV9jb21faGFzaF9rZXlfZmlsbF9kZWZhdWx0X2tleScgZGVmaW5lZCBidXQgbm90 IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogMTA4NiB8IHN0YXRpYyB2b2lkIGVuYV9j b21faGFzaF9rZXlfZmlsbF9kZWZhdWx0X2tleShzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYp CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo5NzM6MTI6IGVycm9yOiAnd2FpdF9mb3Jf cmVzZXRfc3RhdGUnIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlv bl0KICA5NzMgfCBzdGF0aWMgaW50IHdhaXRfZm9yX3Jlc2V0X3N0YXRlKHN0cnVjdCBlbmFfY29t X2RldiAqZW5hX2RldiwgdTMyIHRpbWVvdXQsCiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9lbmEvYmFzZS9lbmFfY29tLmM6OTM1OjEzOiBlcnJv cjogJ2VuYV9jb21faW9fcXVldWVfZnJlZScgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9 dW51c2VkLWZ1bmN0aW9uXQogIDkzNSB8IHN0YXRpYyB2b2lkIGVuYV9jb21faW9fcXVldWVfZnJl ZShzdHJ1Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYsCiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo5MDA6MTI6 IGVycm9yOiAnZW5hX2NvbV9kZXN0cm95X2lvX3NxJyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdl cnJvcj11bnVzZWQtZnVuY3Rpb25dCiAgOTAwIHwgc3RhdGljIGludCBlbmFfY29tX2Rlc3Ryb3lf aW9fc3Eoc3RydWN0IGVuYV9jb21fZGV2ICplbmFfZGV2LAogICAgICB8ICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2VuYS9iYXNlL2VuYV9jb20uYzo4ODk6 MTI6IGVycm9yOiAnZW5hX2NvbV93YWl0X2FuZF9wcm9jZXNzX2FkbWluX2NxJyBkZWZpbmVkIGJ1 dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiAgODg5IHwgc3RhdGljIGludCBl bmFfY29tX3dhaXRfYW5kX3Byb2Nlc3NfYWRtaW5fY3Eoc3RydWN0IGVuYV9jb21wX2N0eCAqY29t cF9jdHgsCiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjY0MjoxMjogZXJyb3I6ICdlbmFf Y29tX2NvbmZpZ19sbHFfaW5mbycgZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2Vk LWZ1bmN0aW9uXQogIDY0MiB8IHN0YXRpYyBpbnQgZW5hX2NvbV9jb25maWdfbGxxX2luZm8oc3Ry dWN0IGVuYV9jb21fZGV2ICplbmFfZGV2LAogICAgICB8ICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjQwNDoxMjogZXJy b3I6ICdlbmFfY29tX2luaXRfaW9fY3EnIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVu dXNlZC1mdW5jdGlvbl0KICA0MDQgfCBzdGF0aWMgaW50IGVuYV9jb21faW5pdF9pb19jcShzdHJ1 Y3QgZW5hX2NvbV9kZXYgKmVuYV9kZXYsCiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjMxNToxMjogZXJyb3I6ICdl bmFfY29tX2luaXRfaW9fc3EnIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1m dW5jdGlvbl0KICAzMTUgfCBzdGF0aWMgaW50IGVuYV9jb21faW5pdF9pb19zcShzdHJ1Y3QgZW5h X2NvbV9kZXYgKmVuYV9kZXYsCiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjI2ODoxMjogZXJyb3I6ICdlbmFfY29t X2luaXRfY29tcF9jdHh0JyBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVu Y3Rpb25dCiAgMjY4IHwgc3RhdGljIGludCBlbmFfY29tX2luaXRfY29tcF9jdHh0KHN0cnVjdCBl bmFfY29tX2FkbWluX3F1ZXVlICphZG1pbl9xdWV1ZSkKICAgICAgfCAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2NvbS5jOjEyNjox MjogZXJyb3I6ICdlbmFfY29tX2FkbWluX2luaXRfYWVucScgZGVmaW5lZCBidXQgbm90IHVzZWQg Wy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogIDEyNiB8IHN0YXRpYyBpbnQgZW5hX2NvbV9hZG1p bl9pbml0X2FlbnEoc3RydWN0IGVuYV9jb21fZGV2ICplbmFfZGV2LAogICAgICB8ICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvZW5hL2Jhc2UvZW5hX2Nv bS5jOjEwNjoxMjogZXJyb3I6ICdlbmFfY29tX2FkbWluX2luaXRfY3EnIGRlZmluZWQgYnV0IG5v dCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KICAxMDYgfCBzdGF0aWMgaW50IGVuYV9j b21fYWRtaW5faW5pdF9jcShzdHJ1Y3QgZW5hX2NvbV9hZG1pbl9xdWV1ZSAqYWRtaW5fcXVldWUp CiAgICAgIHwgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQv ZW5hL2Jhc2UvZW5hX2NvbS5jOjgzOjEyOiBlcnJvcjogJ2VuYV9jb21fYWRtaW5faW5pdF9zcScg ZGVmaW5lZCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWZ1bmN0aW9uXQogICA4MyB8IHN0 YXRpYyBpbnQgZW5hX2NvbV9hZG1pbl9pbml0X3NxKHN0cnVjdCBlbmFfY29tX2FkbWluX3F1ZXVl ICphZG1pbl9xdWV1ZSkKICAgICAgfCAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpj YzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbODU0LzE5NDVdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfbmV0X2UxMDAwLmEucC9uZXRfZTEwMDBf aWdiX3J4dHguYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKRFBESyBTVFYgdGVhbQo= --===============8035751592492294252==--