From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2A270A0559 for ; Mon, 16 Mar 2020 09:57:49 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1E9E61C026; Mon, 16 Mar 2020 09:57:49 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 506F71C026 for ; Mon, 16 Mar 2020 09:57:45 +0100 (CET) IronPort-SDR: 2ItNRZw3cFv3eEXwYr0Hp4eP0PWG3Q0XUtCGFuUBT1u6UikRpX4A0wLwxtIP/TgpaE1LMZSO53 csmQ473LQBfA== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2020 01:57:43 -0700 Message-Id: Date: 16 Mar 2020 01:57:30 -0700 IronPort-SDR: 3uf4+3eCj2CZPMMhxyWYBn3NLCqWzJ3qMToYaA0sgnq7cCtiAb36ZTLOx+8/Y0E1zt2i63kr7G QNd8HnUuRJyg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,559,1574150400"; d="scan'208";a="323429731" Received: from unknown (HELO [10.240.176.251]) ([10.240.176.251]) by orsmga001.jf.intel.com with ESMTP; 16 Mar 2020 01:57:30 -0700 Content-Type: multipart/alternative; boundary="===============6754269001497459362==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: Subject: [dpdk-test-report] |FAILURE| pw66686[11/12] net/iavf: add RSS hash parsing in AVX path X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 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" --===============6754269001497459362== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKaHR0cDov L2RwZGsub3JnL3BhdGNoLzY2Njg2CgpfQ29tcGlsYXRpb24gaXNzdWVzXwoKU3VibWl0dGVyOiBM ZXlpIFJvbmcgPGxleWkucm9uZ0BpbnRlbC5jb20+CkRhdGU6IDIwMjAtMDMtMTYgMDc6NDY6MDIK UmVwbHlfbWFpbDogMjAyMDAzMTYwNzQ2MDMuMTA5OTgtMTItbGV5aS5yb25nQGludGVsLmNvbQpE UERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLW5leHQtbmV0LWludGVsLCBDb21taXRJRDogZjJk NGIwM2ExN2RiY2Q5YjZlMDYxMDZjMDY2M2E4MjAxZGYxZjMxYgoKTWFrZWZpbGUgYnVpbGQgU3Vt bWFyeTogMjMgQnVpbGRzIERvbmUsIDAgU3VjY2Vzc2Z1bCwgMjMgRmFpbHVyZXMKCk1lc29uIGJ1 aWxkIFN1bW1hcnk6IDggQnVpbGRzIERvbmUsIDIgU3VjY2Vzc2Z1bCwgNiBGYWlsdXJlcwoKICAg ICAgICAgICAgICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0rPT09PT09PT09PT0rPT09PT09PT09PSsKICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICBNYWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICAgTWVzb24gICB8IERvY3VtZW50IHwK Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKwp8IG9zICAgICAgICAgICAgIHwgZ2NjICB8 IGNsYW5nIHwgaWNjICB8IGdjYytzaGFyZWQgfCBnY2MrZGVidWcgfCBnY2MvY2xhbmcgfCBwZGYv aHRtbCB8CistLS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSsKfCBSSEVMODAtNjQgICAgICB8 IEZBSUwgfCAgICAgICB8ICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfAp8IFVCMTgwNC02NCAgICAgIHwgRkFJTCB8IEZBSUwgIHwgRkFJTCB8ICAg ICAgICAgICAgfCAgICAgICAgICAgfCBGQUlMICAgICAgfCBwYXNzICAgICB8CnwgVUIxNjA0LTMy ICAgICAgfCBGQUlMIHwgICAgICAgfCAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8IEZB SUwgICAgICB8ICAgICAgICAgIHwKfCBDRU5UT1M3Ny02NCAgICB8IEZBSUwgfCBGQUlMICB8IEZB SUwgfCBGQUlMICAgICAgIHwgRkFJTCAgICAgIHwgRkFJTCAgICAgIHwgICAgICAgICAgfAp8IFVC MTYwNC02NCAgICAgIHwgRkFJTCB8IEZBSUwgIHwgICAgICB8ICAgICAgICAgICAgfCAgICAgICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8CnwgV0lOMTAtNjQgICAgICAgfCAgICAgIHwgICAg ICAgfCAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8IHBhc3MgICAgICB8ICAgICAgICAg IHwKfCBVQjE5MTAtNjQgICAgICB8IEZBSUwgfCAgICAgICB8ICAgICAgfCAgICAgICAgICAgIHwg ICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfAp8IEZDMzEtNjQgICAgICAgIHwgRkFJ TCB8IEZBSUwgIHwgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCBGQUlMICAgICAgfCAg ICAgICAgICB8CnwgQ0VOVE9TODAtNjQgICAgfCBGQUlMIHwgICAgICAgfCAgICAgIHwgICAgICAg ICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwKfCBGcmVlQlNEMTIwMS02 NCB8IEZBSUwgfCBGQUlMICB8ICAgICAgfCBGQUlMICAgICAgIHwgRkFJTCAgICAgIHwgRkFJTCAg ICAgIHwgICAgICAgICAgfAp8IFJIRUw3Ny02NCAgICAgIHwgRkFJTCB8ICAgICAgIHwgICAgICB8 ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8CnwgU1VTRTE1 LTY0ICAgICAgfCBGQUlMIHwgRkFJTCAgfCAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8 IEZBSUwgICAgICB8ICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0r LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKwoK VGVzdCBlbnZpcm9ubWVudCBhbmQgY29uZmlndXJhdGlvbiBhcyBiZWxvdzoKCioqIE1ha2VmaWxl IGJ1aWxkICoqCgoKT1M6IFVCMTgwNC02NAoJS2VybmVsIFZlcnNpb246IDQuMTUuMC0yMC1nZW5l cmljCglDUFUgaW5mbzogSW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoK CUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSA3LjMuMC0yN3VidW50dTF+MTguMDQpIDcuMy4wCglD bGFuZyBWZXJzaW9uOiA2LjAuMC0xdWJ1bnR1MiAodGFncy9SRUxFQVNFXzYwMC9maW5hbCkKCXg4 Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoKCk9TOiBVQjE2MDQtMzIKCUtlcm5lbCBWZXJzaW9u OiA0LjQuMC0xMzEtZ2VuZXJpYwoJQ1BVIGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2 OTkgdjMgQCAyLjMwR0h6CglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgNS40LjAtNnVidW50dTF+ MTYuMDQuMTEpIDUuNC4wIDIwMTYwNjA5CglDbGFuZyBWZXJzaW9uOiAzLjguMC0ydWJ1bnR1NCAo dGFncy9SRUxFQVNFXzM4MC9maW5hbCkKCWk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwoKCk9TOiBD RU5UT1M3Ny02NAoJS2VybmVsIFZlcnNpb246IDMuMTAuMC0xMDYyLjkuMS5lbDcueDg2XzY0CglD UFUgaW5mbzogSW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKCUdDQyBW ZXJzaW9uOiBnY2MgKEdDQykgNC44LjUgMjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtMzkpCglDbGFu ZyBWZXJzaW9uOiAzLjQuMiAodGFncy9SRUxFQVNFXzM0L2RvdDItZmluYWwpCgl4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWNsYW5nCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYytkZWJ1ZwoJeDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK3NoYXJl ZAoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKCgpPUzogVUIxOTEwLTY0CglLZXJuZWwgVmVy c2lvbjogNS4zLjAtMTgtZ2VuZXJpYwoJQ1BVIGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1 LTI2OTkgdjMgQCAyLjMwR0h6CglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgOS4yLjEtOXVidW50 dTIpIDkuMi4xIDIwMTkxMDA4CglDbGFuZyBWZXJzaW9uOiA5LjAuMC0yICh0YWdzL1JFTEVBU0Vf OTAwL2ZpbmFsKQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCgpPUzogQ0VOVE9TODAtNjQK CUtlcm5lbCBWZXJzaW9uOiA0LjE4LjAtODAuMTEuMi5lbDhfMC54ODZfNjQKCUNQVSBpbmZvOiBJ bnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHYzIEAgMi4zMEdIegoJR0NDIFZlcnNpb246IGdj YyAoR0NDKSA4LjIuMSAyMDE4MDkwNSAoUmVkIEhhdCA4LjIuMS0zKQoJQ2xhbmcgVmVyc2lvbjog Ny4wLjEgKHRhZ3MvUkVMRUFTRV83MDEvZmluYWwpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj YwoKCk9TOiBVQjE2MDQtNjQKCUtlcm5lbCBWZXJzaW9uOiA0LjQuMC0xNzAtZ2VuZXJpYwoJQ1BV IGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6CglHQ0MgVmVy c2lvbjogZ2NjIChVYnVudHUgNS40LjAtNnVidW50dTF+MTYuMDQuMTIpIDUuNC4wIDIwMTYwNjA5 CglDbGFuZyBWZXJzaW9uOiAzLjguMC0ydWJ1bnR1NCAodGFncy9SRUxFQVNFXzM4MC9maW5hbCkK CXg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj CgoKT1M6IEZDMzEtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjMuMTUtMzAwLmZjMzEueDg2XzY0CglD UFUgaW5mbzogSW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKCUdDQyBW ZXJzaW9uOiBnY2MgKEdDQykgOS4yLjEgMjAxOTA4MjcgKFJlZCBIYXQgOS4yLjEtMSkKCUNsYW5n IFZlcnNpb246IDkuMC4wIChGZWRvcmEgOS4wLjAtMS5mYzMxKQoJeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKCgpPUzogUkhFTDgwLTY0CglL ZXJuZWwgVmVyc2lvbjogNC4xOC4wLTgwLmVsOC54ODZfNjQKCUNQVSBpbmZvOiBJbnRlbChSKSBY ZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSA4 LjIuMSAyMDE4MDkwNSAoUmVkIEhhdCA4LjIuMS0zKQoJQ2xhbmcgVmVyc2lvbjogNi4wLjEgKHRh Z3MvUkVMRUFTRV82MDEvZmluYWwpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoKCk9TOiBG cmVlQlNEMTIwMS02NAoJS2VybmVsIFZlcnNpb246IDEyLjEtUkVMRUFTRQoJQ1BVIGluZm86IElu dGVsKFIpIFhlb24oUikgUGxhdGludW0gODE4MCBDUFUgQCAyLjUwR0h6ICgyNDk0LjE5LU1IeiBL OC1jbGFzcyBDUFUpCglHQ0MgVmVyc2lvbjogZ2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24p IDkuMi4wCglDbGFuZyBWZXJzaW9uOiA4LjAuMSAodGFncy9SRUxFQVNFXzgwMS9maW5hbCAzNjY1 ODEpIChiYXNlZCBvbiBMTFZNIDguMC4xKQoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjK2RlYnVn Cgl4ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCgl4 ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2Mrc2hhcmVkCgoKT1M6IFJIRUw3Ny02NAoJS2VybmVsIFZl cnNpb246IDMuMTAuMC0xMDYyLjkuMS5lbDcueDg2XzY0CglDUFUgaW5mbzogSW50ZWwoUikgWGVv bihSKSBDUFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgNC44 LjUgMjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtMzkpCglDbGFuZyBWZXJzaW9uOiAzLjQuMiAodGFn cy9SRUxFQVNFXzM0L2RvdDItZmluYWwpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoKCk9T OiBTVVNFMTUtNjQKCUtlcm5lbCBWZXJzaW9uOiA0LjEyLjE0LWxwMTUwLjExLWRlZmF1bHQKCUNQ VSBpbmZvOiBJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegoJR0NDIFZl cnNpb246IGdjYyAoU1VTRSBMaW51eCkgNy4zLjEgMjAxODAzMjMgW2djYy03LWJyYW5jaCByZXZp c2lvbiAyNTg4MTJdCglDbGFuZyBWZXJzaW9uOiA1LjAuMSAodGFncy9SRUxFQVNFXzUwMS9maW5h bCAzMTI1NDgpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1jbGFuZwoKCioqIE1lc29uIGJ1aWxkICoqCgoKT1M6IFVCMTgwNC02NAoJS2VybmVsIFZl cnNpb246IDQuMTUuMC0yMC1nZW5lcmljCglDUFUgaW5mbzogSW50ZWwoUikgWGVvbihSKSBDUFUg RTUtMjY5OSB2NCBAIDIuMjBHSHoKCUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSA3LjMuMC0yN3Vi dW50dTF+MTguMDQpIDcuMy4wCglDbGFuZyBWZXJzaW9uOiA2LjAuMC0xdWJ1bnR1MiAodGFncy9S RUxFQVNFXzYwMC9maW5hbCkKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZG9jCgkuL2J1aWxkLWdj Yy1zdGF0aWMKCS4vYnVpbGQtZ2NjLXNoYXJlZAoJLi9idWlsZC1jbGFuZy1zdGF0aWMKCS4vYnVp bGQtY2xhbmctc2hhcmVkCgkuL2J1aWxkLXg4Ni1kZWZhdWx0CgoKT1M6IFVCMTYwNC0zMgoJS2Vy bmVsIFZlcnNpb246IDQuNC4wLTEzMS1nZW5lcmljCglDUFUgaW5mbzogSW50ZWwoUikgWGVvbihS KSBDUFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKCUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSA1LjQu MC02dWJ1bnR1MX4xNi4wNC4xMSkgNS40LjAgMjAxNjA2MDkKCUNsYW5nIFZlcnNpb246IDMuOC4w LTJ1YnVudHU0ICh0YWdzL1JFTEVBU0VfMzgwL2ZpbmFsKQoJLi9idWlsZC1nY2Mtc3RhdGljCgku L2J1aWxkLWdjYy1zaGFyZWQKCS4vYnVpbGQtY2xhbmctc3RhdGljCgkuL2J1aWxkLWNsYW5nLXNo YXJlZAoJLi9idWlsZC14ODYtZGVmYXVsdAoKCk9TOiBDRU5UT1M3Ny02NAoJS2VybmVsIFZlcnNp b246IDMuMTAuMC0xMDYyLjEyLjEuZWw3Lng4Nl82NAoJQ1BVIGluZm86IEludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDQuOC41 IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTM5KQoJQ2xhbmcgVmVyc2lvbjogMy40LjIgKHRhZ3Mv UkVMRUFTRV8zNC9kb3QyLWZpbmFsKQoJLi9idWlsZC1nY2Mtc3RhdGljCgkuL2J1aWxkLWdjYy1z aGFyZWQKCS4vYnVpbGQtY2xhbmctc3RhdGljCgkuL2J1aWxkLWNsYW5nLXNoYXJlZAoJLi9idWls ZC14ODYtZGVmYXVsdAoKCk9TOiBXSU4xMC02NAoJS2VybmVsIFZlcnNpb246IE4vQQoJQ1BVIGlu Zm86IE4vQQoJR0NDIFZlcnNpb246IE4vQQoJQ2xhbmcgVmVyc2lvbjogQ2xhbmcgOC4wLjAKCXg4 Nl82NC13aW5kb3dzLWNsYW5nCgoKT1M6IEZDMzEtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjQuMTgt MjAwLmZjMzEueDg2XzY0CglDUFUgaW5mbzogSW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2 NCBAIDIuMjBHSHoKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgOS4yLjEgMjAxOTA4MjcgKFJlZCBI YXQgOS4yLjEtMSkKCUNsYW5nIFZlcnNpb246IDkuMC4wIChGZWRvcmEgOS4wLjAtMS5mYzMxKQoJ Li9idWlsZC1nY2Mtc3RhdGljCgkuL2J1aWxkLWdjYy1zaGFyZWQKCS4vYnVpbGQtY2xhbmctc3Rh dGljCgkuL2J1aWxkLWNsYW5nLXNoYXJlZAoJLi9idWlsZC14ODYtZGVmYXVsdAoKCk9TOiBGcmVl QlNEMTIwMS02NAoJS2VybmVsIFZlcnNpb246IDEyLjEtUkVMRUFTRQoJQ1BVIGluZm86IEludGVs KFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6ICgyMTk0Ljk3LU1IeiBLOC1jbGFz cyBDUFUpCglHQ0MgVmVyc2lvbjogZ2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDkuMi4w CglDbGFuZyBWZXJzaW9uOiA4LjAuMSAodGFncy9SRUxFQVNFXzgwMS9maW5hbCAzNjY1ODEpIChi YXNlZCBvbiBMTFZNIDguMC4xKQoJLi9idWlsZC1nY2Mtc3RhdGljCgkuL2J1aWxkLWdjYy1zaGFy ZWQKCS4vYnVpbGQtY2xhbmctc3RhdGljCgkuL2J1aWxkLWNsYW5nLXNoYXJlZAoJLi9idWlsZC14 ODYtZGVmYXVsdAoKCk9TOiBTVVNFMTUtNjQKCUtlcm5lbCBWZXJzaW9uOiA0LjEyLjE0LWxwMTUw LjEyLjgyLWRlZmF1bHQKCUNQVSBpbmZvOiBJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0 IEAgMi4yMEdIegoJR0NDIFZlcnNpb246IGdjYyAoU1VTRSBMaW51eCkgNy40LjEgMjAxOTA5MDUg W2djYy03LWJyYW5jaCByZXZpc2lvbiAyNzU0MDddCglDbGFuZyBWZXJzaW9uOiA1LjAuMSAodGFn cy9SRUxFQVNFXzUwMS9maW5hbCAzMTI1NDgpCgkuL2J1aWxkLWdjYy1zdGF0aWMKCS4vYnVpbGQt Z2NjLXNoYXJlZAoJLi9idWlsZC1jbGFuZy1zdGF0aWMKCS4vYnVpbGQtY2xhbmctc2hhcmVkCgku L2J1aWxkLXg4Ni1kZWZhdWx0CgoKKk1ha2UgQnVpbGQgRmFpbGVkICMxOgpPUzogVUIxNjA0LTY0 ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9yb290L1VCMTYwNC02NF9LNC40LjBfQ2xhbmczLjguMC94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUx YjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjEyNDc6MzM6IGVycm9yOiB1 c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhf REVTQycKICAgICAgICBpZiAodmYtPnZmX3Jlcy0+dmZfY2FwX2ZsYWdzICYgVklSVENITkxfVkZf T0ZGTE9BRF9SWF9GTEVYX0RFU0MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgozIGVycm9ycyBnZW5lcmF0ZWQuCi9yb290L1VCMTYwNC02NF9LNC40LjBfQ2xhbmcz LjguMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3 NTgxYTUxYjI0L2RwZGsvbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjExNDogcmVjaXBl IGZvciB0YXJnZXQgJ2lhdmZfZXRoZGV2Lm8nIGZhaWxlZAptYWtlWzZdOiAqKiogW2lhdmZfZXRo ZGV2Lm9dIEVycm9yIDEKL3Jvb3QvVUIxNjA0LTY0X0s0LjQuMF9DbGFuZzMuOC4wL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBk ay9tay9ydGUuc3ViZGlyLm1rOjM1OiByZWNpcGUgZm9yIHRhcmdldCAnaWF2ZicgZmFpbGVkCm1h a2VbNV06ICoqKiBbaWF2Zl0gRXJyb3IgMgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5p c2hlZCBqb2JzLi4uLgogIENDIGljZV9jb21tb24ubwogIENDIGljZV9jb250cm9scS5vCiAgQ0Mg aGluaWNfcG1kX3dxLm8KICBDQyBmbTEwa19hcGkubwotLQogIENDIGk0MGVfZXRoZGV2X3ZmLm8u cG1kLm8KICBMRCBpNDBlX2V0aGRldl92Zi5vCiAgQVIgbGlicnRlX3BtZF9pNDBlLmEKICBJTlNU QUxMLUxJQiBsaWJydGVfcG1kX2k0MGUuYQptYWtlWzZdOiB3YXJuaW5nOiAgQ2xvY2sgc2tldyBk ZXRlY3RlZC4gIFlvdXIgYnVpbGQgbWF5IGJlIGluY29tcGxldGUuCi9yb290L1VCMTYwNC02NF9L NC40LjBfQ2xhbmczLjguMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFm ODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnN1YmRpci5tazozNTogcmVjaXBlIGZv ciB0YXJnZXQgJ25ldCcgZmFpbGVkCm1ha2VbNF06ICoqKiBbbmV0XSBFcnJvciAyCi9yb290L1VC MTYwNC02NF9LNC40LjBfQ2xhbmczLjguMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5 YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ2 OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCm1ha2VbM106ICoqKiBbZHJpdmVy c10gRXJyb3IgMgovcm9vdC9VQjE2MDQtNjRfSzQuNC4wX0NsYW5nMy44LjAveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21r L3J0ZS5zZGtyb290Lm1rOjk4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKbWFrZVsy XTogKioqIFthbGxdIEVycm9yIDIKL3Jvb3QvVUIxNjA0LTY0X0s0LjQuMF9DbGFuZzMuOC4wL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFi MjQvZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo2MDogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9p bnN0YWxsJyBmYWlsZWQKbWFrZVsxXTogKioqIFtwcmVfaW5zdGFsbF0gRXJyb3IgMgovcm9vdC9V QjE2MDQtNjRfSzQuNC4wX0NsYW5nMy44LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9i OWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc3 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCm1ha2U6ICoqKiBbaW5zdGFsbF0g RXJyb3IgMgoKCipNYWtlIEJ1aWxkIEZhaWxlZCAjMjoKT1M6IFVCMTYwNC0zMgpUYXJnZXQ6IGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwovcm9vdC9VQjE2MDQtMzJfSzQuNC4wX0dDQzUuNC4wL2k2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9k cGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzoxMjQ3OjMzOiBlcnJvcjog4oCYVklS VENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAmIFZJUlRDSE5M X1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL3Jvb3QvVUIxNjA0LTMyX0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFw cC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9p YXZmL2lhdmZfZXRoZGV2LmM6IEF0IHRvcCBsZXZlbDoKY2MxOiB3YXJuaW5nOiB1bnJlY29nbml6 ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiDigJgtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlcuKA mQovcm9vdC9VQjE2MDQtMzJfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL2ludGVybmFsL3J0ZS5j b21waWxlLXByZS5tazoxMTQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpYXZmX2V0aGRldi5vJyBmYWls ZWQKbWFrZVs2XTogKioqIFtpYXZmX2V0aGRldi5vXSBFcnJvciAxCm1ha2VbNl06ICoqKiBXYWl0 aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgZm0xMGtfdGx2Lm8KICBDQyBlMTAwMF9v c2RlcC5vCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvcm9vdC9VQjE2MDQtMzJfSzQuNC4wX0dDQzUu NC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1 MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjIyOjA6Ci9yb290L1VCMTYw NC0zMl9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFm ODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmg6MTEwOjI3 OiBlcnJvcjogZmllbGQg4oCYcGtnX2luZm/igJkgaGFzIGluY29tcGxldGUgdHlwZQotLQovcm9v dC9VQjE2MDQtMzJfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFl ODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92 Y2hubC5jOjY1MzoxMzogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZ IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm/igJkKICAgICAg c2l6ZW9mKHN0cnVjdCB2aXJ0Y2hubF9wa2dfaW5mbykpOwogICAgICAgICAgICAgXgovcm9vdC9V QjE2MDQtMzJfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZi YjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hu bC5jOiBBdCB0b3AgbGV2ZWw6CmNjMTogd2FybmluZzogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGlu ZSBvcHRpb24g4oCYLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXLigJkKL3Jvb3QvVUIxNjA0 LTMyX0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4 NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6 MTE0OiByZWNpcGUgZm9yIHRhcmdldCAnaWF2Zl92Y2hubC5vJyBmYWlsZWQKbWFrZVs2XTogKioq IFtpYXZmX3ZjaG5sLm9dIEVycm9yIDEKL3Jvb3QvVUIxNjA0LTMyX0s0LjQuMF9HQ0M1LjQuMC9p Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9tay9ydGUuc3ViZGlyLm1rOjM1OiByZWNpcGUgZm9yIHRhcmdldCAnaWF2ZicgZmFpbGVk Cm1ha2VbNV06ICoqKiBbaWF2Zl0gRXJyb3IgMgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5m aW5pc2hlZCBqb2JzLi4uLgogIENDIGUxMDAwX3ZmLm8KICBDQyBlMTAwMF9waHkubwogIENDIGk0 MGVfY29tbW9uLm8KICBBUiBsaWJydGVfcG1kX2ZhaWxzYWZlLmEKLS0KICBDQyBpNDBlX2V0aGRl di5vLnBtZC5vCiAgTEQgaTQwZV9ldGhkZXYubwogIEFSIGxpYnJ0ZV9wbWRfaTQwZS5hCiAgSU5T VEFMTC1MSUIgbGlicnRlX3BtZF9pNDBlLmEKbWFrZVs2XTogd2FybmluZzogIENsb2NrIHNrZXcg ZGV0ZWN0ZWQuICBZb3VyIGJ1aWxkIG1heSBiZSBpbmNvbXBsZXRlLgovcm9vdC9VQjE2MDQtMzJf SzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThm YTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IHJlY2lwZSBmb3IgdGFy Z2V0ICduZXQnIGZhaWxlZAptYWtlWzRdOiAqKiogW25ldF0gRXJyb3IgMgovcm9vdC9VQjE2MDQt MzJfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0 ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtidWlsZC5tazo0NjogcmVjaXBlIGZv ciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAptYWtlWzNdOiAqKiogW2RyaXZlcnNdIEVycm9yIDIK L3Jvb3QvVUIxNjA0LTMyX0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2Mv YjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo5 ODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCm1ha2VbMl06ICoqKiBbYWxsXSBFcnJv ciAyCi9yb290L1VCMTYwNC0zMl9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAt Z2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka2luc3Rh bGwubWs6NjA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCm1ha2VbMV06 ICoqKiBbcHJlX2luc3RhbGxdIEVycm9yIDIKL3Jvb3QvVUIxNjA0LTMyX0s0LjQuMF9HQ0M1LjQu MC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFi MjQvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo3NzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwn IGZhaWxlZAptYWtlOiAqKiogW2luc3RhbGxdIEVycm9yIDIKCgoqTWFrZSBCdWlsZCBGYWlsZWQg IzM6Ck9TOiBVQjE5MTAtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovcm9v dC9VQjE5MTAtNjRfSzUuMy4wX0dDQzkuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5 YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZm X2V0aGRldi5jOjEyNDc6MzM6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhf REVTQ+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVVRVPigJk/CiAxMjQ3IHwgIGlmICh2 Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVT QykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFUwo9PSBCdWlsZCBkcml2ZXJzL25ldC9p Y2UKbWFrZVs2XTogKioqIFsvcm9vdC9VQjE5MTAtNjRfSzUuMy4wX0dDQzkuMi4xL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsv bWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjExNDogaWF2Zl9ldGhkZXYub10gRXJyb3Ig MQptYWtlWzVdOiAqKiogWy9yb290L1VCMTkxMC02NF9LNS4zLjBfR0NDOS4yLjEveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9t ay9ydGUuc3ViZGlyLm1rOjM3OiBpYXZmXSBFcnJvciAyCm1ha2VbNV06ICoqKiBXYWl0aW5nIGZv ciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgYmFzZS92bmljX3dxLm8KICBDQyBmbTEwa19jb21t b24ubwogIFBNRElORk8gaG5zM19ldGhkZXZfdmYuby5wbWQuYwogIENDIGhuczNfZXRoZGV2X3Zm Lm8ucG1kLm8KLS0KICBDQyBpY2VfZXRoZGV2Lm8ucG1kLm8KICBMRCBpY2VfZXRoZGV2Lm8KICBB UiBsaWJydGVfcG1kX2ljZS5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pY2UuYQptYWtlWzZd OiB3YXJuaW5nOiAgQ2xvY2sgc2tldyBkZXRlY3RlZC4gIFlvdXIgYnVpbGQgbWF5IGJlIGluY29t cGxldGUuCm1ha2VbNF06ICoqKiBbL3Jvb3QvVUIxOTEwLTY0X0s1LjMuMF9HQ0M5LjIuMS94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9k cGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IG5ldF0gRXJyb3IgMgptYWtlWzNdOiAqKiogWy9yb290 L1VCMTkxMC02NF9LNS4zLjBfR0NDOS4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlh ZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RrYnVpbGQubWs6NDY6 IGRyaXZlcnNdIEVycm9yIDIKbWFrZVsyXTogKioqIFsvcm9vdC9VQjE5MTAtNjRfSzUuMy4wX0dD QzkuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3 NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6OTk6IGFsbF0gRXJyb3IgMgptYWtlWzFd OiAqKiogWy9yb290L1VCMTkxMC02NF9LNS4zLjBfR0NDOS4yLjEveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2Rr aW5zdGFsbC5tazo2MTogcHJlX2luc3RhbGxdIEVycm9yIDIKbWFrZTogKioqIFsvcm9vdC9VQjE5 MTAtNjRfSzUuMy4wX0dDQzkuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJi ODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6Nzc6IGluc3Rh bGxdIEVycm9yIDIKCgoqTWFrZSBCdWlsZCBGYWlsZWQgIzQ6Ck9TOiBVQjE4MDQtNjQKVGFyZ2V0 OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9JQ0Mx OS4wLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1 ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmMoMTI0Nyk6IGVycm9y OiBpZGVudGlmaWVyICJWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQyIgaXMgdW5kZWZp bmVkCiAgCWlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FE X1JYX0ZMRVhfREVTQykgewogIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoKY29t cGlsYXRpb24gYWJvcnRlZCBmb3IgL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfSUNDMTkuMC4wL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0 L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jIChjb2RlIDIpCi9yb290L1VCMTgw NC02NF9LNC4xNS4wX0lDQzE5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYy9iOWFlODZi YjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXBy ZS5tazoxMTQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpYXZmX2V0aGRldi5vJyBmYWlsZWQKbWFrZVs2 XTogKioqIFtpYXZmX2V0aGRldi5vXSBFcnJvciAyCi9yb290L1VCMTgwNC02NF9LNC4xNS4wX0lD QzE5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYy9iOWFlODZiYjgxZjg0ZThmYTE2Yzdl NzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp YXZmJyBmYWlsZWQKbWFrZVs1XTogKioqIFtpYXZmXSBFcnJvciAyCm1ha2VbNV06ICoqKiBXYWl0 aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgaTQwZV9kaWFnLm8KICBDQyBsMnQubwog IENDIGlnYl9yeHR4Lm8KICBQTURJTkZPIGZtMTBrX2V0aGRldi5vLnBtZC5jCi0tCiAgSU5TVEFM TC1MSUIgbGlicnRlX3BtZF9pY2UuYQptYWtlWzZdOiB3YXJuaW5nOiAgQ2xvY2sgc2tldyBkZXRl Y3RlZC4gIFlvdXIgYnVpbGQgbWF5IGJlIGluY29tcGxldGUuCiAgQVIgbGlicnRlX3BtZF9pNDBl LmEKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2k0MGUuYQptYWtlWzZdOiB3YXJuaW5nOiAgQ2xv Y2sgc2tldyBkZXRlY3RlZC4gIFlvdXIgYnVpbGQgbWF5IGJlIGluY29tcGxldGUuCi9yb290L1VC MTgwNC02NF9LNC4xNS4wX0lDQzE5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYy9iOWFl ODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IHJl Y2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAptYWtlWzRdOiAqKiogW25ldF0gRXJyb3IgMgov cm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9JQ0MxOS4wLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1p Y2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RrYnVpbGQu bWs6NDY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKbWFrZVszXTogKioqIFtk cml2ZXJzXSBFcnJvciAyCi9yb290L1VCMTgwNC02NF9LNC4xNS4wX0lDQzE5LjAuMC94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWljYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRr L21rL3J0ZS5zZGtyb290Lm1rOjk4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKbWFr ZVsyXTogKioqIFthbGxdIEVycm9yIDIKL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfSUNDMTkuMC4w L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUx YjI0L2RwZGsvbWsvcnRlLnNka2luc3RhbGwubWs6NjA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVf aW5zdGFsbCcgZmFpbGVkCm1ha2VbMV06ICoqKiBbcHJlX2luc3RhbGxdIEVycm9yIDIKL3Jvb3Qv VUIxODA0LTY0X0s0LjE1LjBfSUNDMTkuMC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjL2I5 YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6Nzc6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKbWFrZTogKioqIFtpbnN0YWxsXSBF cnJvciAyCgoKKk1ha2UgQnVpbGQgRmFpbGVkICM1OgpPUzogVUIxODA0LTY0ClRhcmdldDogeDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9DbGFuZzYu MC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1 ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0NzozMzogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1ZJUlRDSE5MX1ZGX09GRkxPQURfUlhf RkxFWF9ERVNDJwogICAgICAgIGlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hO TF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCjMgZXJyb3JzIGdlbmVyYXRlZC4KICBQTURJTkZPIGlnYl9ldGhkZXYuby5w bWQuYwovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9DbGFuZzYuMC4wL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9pbnRl cm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE0OiByZWNpcGUgZm9yIHRhcmdldCAnaWF2Zl9ldGhk ZXYubycgZmFpbGVkCm1ha2VbNl06ICoqKiBbaWF2Zl9ldGhkZXYub10gRXJyb3IgMQovcm9vdC9V QjE4MDQtNjRfSzQuMTUuMF9DbGFuZzYuMC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcv YjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc3ViZGlyLm1rOjM1 OiByZWNpcGUgZm9yIHRhcmdldCAnaWF2ZicgZmFpbGVkCm1ha2VbNV06ICoqKiBbaWF2Zl0gRXJy b3IgMgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgogIENDIGln Yl9ldGhkZXYuby5wbWQubwogIENDIGhuczNfZmxvdy5vCiAgTEQgaWdiX2V0aGRldi5vCiAgQ0Mg aWdiX3BmLm8KLS0KICBDQyBpNDBlX2V0aGRldi5vLnBtZC5vCiAgTEQgaTQwZV9ldGhkZXYubwog IEFSIGxpYnJ0ZV9wbWRfaTQwZS5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pNDBlLmEKbWFr ZVs2XTogd2FybmluZzogIENsb2NrIHNrZXcgZGV0ZWN0ZWQuICBZb3VyIGJ1aWxkIG1heSBiZSBp bmNvbXBsZXRlLgovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9DbGFuZzYuMC4wL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9t ay9ydGUuc3ViZGlyLm1rOjM1OiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKbWFrZVs0 XTogKioqIFtuZXRdIEVycm9yIDIKL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfQ2xhbmc2LjAuMC94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUx YjI0L2RwZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ2OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVy cycgZmFpbGVkCm1ha2VbM106ICoqKiBbZHJpdmVyc10gRXJyb3IgMgovcm9vdC9VQjE4MDQtNjRf SzQuMTUuMF9DbGFuZzYuMC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvYjlhZTg2YmI4 MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo5ODogcmVjaXBl IGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCm1ha2VbMl06ICoqKiBbYWxsXSBFcnJvciAyCi9yb290 L1VCMTgwNC02NF9LNC4xNS4wX0NsYW5nNi4wLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu Zy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtpbnN0YWxs Lm1rOjYwOiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAptYWtlWzFdOiAq KiogW3ByZV9pbnN0YWxsXSBFcnJvciAyCi9yb290L1VCMTgwNC02NF9LNC4xNS4wX0NsYW5nNi4w LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4 MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc3OiByZWNpcGUgZm9yIHRhcmdldCAnaW5z dGFsbCcgZmFpbGVkCm1ha2U6ICoqKiBbaW5zdGFsbF0gRXJyb3IgMgoKCipNYWtlIEJ1aWxkIEZh aWxlZCAjNjoKT1M6IENFTlRPUzc3LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9yb290L0NFTlRP Uzc3LTY0X0szLjEwLjBfQ2xhbmczLjQuMi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5 YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZm X2V0aGRldi5jOjEyNDc6MzM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdW SVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQycKICAgICAgICBpZiAodmYtPnZmX3Jlcy0+ dmZfY2FwX2ZsYWdzICYgVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MpIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgozIGVycm9ycyBnZW5lcmF0ZWQuCm1h a2VbNl06ICoqKiBbaWF2Zl9ldGhkZXYub10gRXJyb3IgMQptYWtlWzZdOiAqKiogV2FpdGluZyBm b3IgdW5maW5pc2hlZCBqb2JzLi4uLgogIENDIGk0MGVfaG1jLm8KICBDQyBpNDBlX2xhbl9obWMu bwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Jvb3QvQ0VOVE9TNzctNjRfSzMuMTAuMF9DbGFuZzMu NC4yL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1 ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzoyMjoKL3Jvb3QvQ0VO VE9TNzctNjRfSzMuMTAuMF9DbGFuZzMuNC4yL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcv YjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lh dmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3Qgdmly dGNobmxfcGtnX2luZm8nCi0tCiAgICAgICAgaWYgKHVubGlrZWx5KHN0YXRfZXJyMCAmICgxIDw8 IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9FSVBFX1MpKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovcm9vdC9DRU5UT1M3Ny02NF9LMy4xMC4wX0NsYW5n My40LjIveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0ZThmYTE2Yzdl NzU4MWE1MWIyNC9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVf YnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAndW5s aWtlbHknCiNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpmYXRhbCBlcnJv cjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1d CjIgd2FybmluZ3MgYW5kIDIwIGVycm9ycyBnZW5lcmF0ZWQuCm1ha2VbNl06ICoqKiBbaWF2Zl9y eHR4Lm9dIEVycm9yIDEKL3Jvb3QvQ0VOVE9TNzctNjRfSzMuMTAuMF9DbGFuZzMuNC4yL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2MDE6ODogZXJyb3I6IHVzZSBvZiB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1ZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDJwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RF U0MgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICBDQyBobnMzX3Jzcy5vCiAgQ0Mg aTQwZV9udm0ubwotLQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3Jvb3QvQ0VOVE9T NzctNjRfSzMuMTAuMF9DbGFuZzMuNC4yL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvYjlh ZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZf dmNobmwuYzo2Mzk6MTM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdWSVJU Q0hOTF9PUF9QQUNLQUdFX0lORk8nCiAgICAgICAgYXJncy5vcHMgPSBWSVJUQ0hOTF9PUF9QQUNL QUdFX0lORk87CiAgICAgICAgICAgICAgICAgICBeCjE3IGVycm9ycyBnZW5lcmF0ZWQuCm1ha2Vb Nl06ICoqKiBbaWF2Zl92Y2hubC5vXSBFcnJvciAxCm1ha2VbNV06ICoqKiBbaWF2Zl0gRXJyb3Ig MgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgo9PSBCdWlsZCBk cml2ZXJzL25ldC9pY2UKICBDQyBobnMzX2Zsb3cubwogIENDIGk0MGVfZGNiLm8KICBDQyBpNDBl X2V0aGRldi5vCi0tCiAgUE1ESU5GTyBpY2VfZXRoZGV2Lm8ucG1kLmMKICBDQyBpY2VfZXRoZGV2 Lm8ucG1kLm8KICBMRCBpY2VfZXRoZGV2Lm8KICBBUiBsaWJydGVfcG1kX2ljZS5hCiAgSU5TVEFM TC1MSUIgbGlicnRlX3BtZF9pY2UuYQptYWtlWzRdOiAqKiogW25ldF0gRXJyb3IgMgptYWtlWzNd OiAqKiogW2RyaXZlcnNdIEVycm9yIDIKbWFrZVsyXTogKioqIFthbGxdIEVycm9yIDIKbWFrZVsx XTogKioqIFtwcmVfaW5zdGFsbF0gRXJyb3IgMgptYWtlOiAqKiogW2luc3RhbGxdIEVycm9yIDIK CgoqTWFrZSBCdWlsZCBGYWlsZWQgIzc6Ck9TOiBDRU5UT1M3Ny02NApUYXJnZXQ6IHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjK2RlYnVnCi9yb290L0NFTlRPUzc3LTY0X0szLjEwLjBfR0NDNC44 LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MrZGVidWcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3 ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0NzozMzog ZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVND4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxh Z3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9yb290L0NFTlRPUzc3LTY0X0szLjEwLjBfR0NDNC44LjUveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MrZGVidWcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFh NTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6IEF0IHRvcCBsZXZlbDoK Y2MxOiB3YXJuaW5nOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAiLVduby1hZGRy ZXNzLW9mLXBhY2tlZC1tZW1iZXIiIFtlbmFibGVkIGJ5IGRlZmF1bHRdCm1ha2VbNl06ICoqKiBb aWF2Zl9ldGhkZXYub10gRXJyb3IgMQogIENDIGJhc2Uvdm5pY19pbnRyLm8KPT0gQnVpbGQgZHJp dmVycy9uZXQvaW9uaWMKbWFrZVs1XTogKioqIFtpYXZmXSBFcnJvciAyCm1ha2VbNV06ICoqKiBX YWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgYmFzZS92bmljX3JxLm8KICBDQyBo aW5pY19wbWRfZmxvdy5vCiAgQ0MgaTQwZV9ldGhkZXZfdmYubwogIENDIGhuczNfZmxvdy5vCi0t CiAgUE1ESU5GTyBpY2VfZXRoZGV2Lm8ucG1kLmMKICBDQyBpY2VfZXRoZGV2Lm8ucG1kLm8KICBM RCBpY2VfZXRoZGV2Lm8KICBBUiBsaWJydGVfcG1kX2ljZS5hCiAgSU5TVEFMTC1MSUIgbGlicnRl X3BtZF9pY2UuYQptYWtlWzRdOiAqKiogW25ldF0gRXJyb3IgMgptYWtlWzNdOiAqKiogW2RyaXZl cnNdIEVycm9yIDIKbWFrZVsyXTogKioqIFthbGxdIEVycm9yIDIKbWFrZVsxXTogKioqIFtwcmVf aW5zdGFsbF0gRXJyb3IgMgptYWtlOiAqKiogW2luc3RhbGxdIEVycm9yIDIKCgoqTWFrZSBCdWls ZCBGYWlsZWQgIzg6Ck9TOiBDRU5UT1M3Ny02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjCi9yb290L0NFTlRPUzc3LTY0X0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJz L25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0NzozMzogZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09G RkxPQURfUlhfRkxFWF9ERVND4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIGlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FE X1JYX0ZMRVhfREVTQykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9yb290 L0NFTlRPUzc3LTY0X0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mv YjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lh dmZfZXRoZGV2LmM6IEF0IHRvcCBsZXZlbDoKY2MxOiB3YXJuaW5nOiB1bnJlY29nbml6ZWQgY29t bWFuZCBsaW5lIG9wdGlvbiAiLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiIFtlbmFibGVk IGJ5IGRlZmF1bHRdCm1ha2VbNl06ICoqKiBbaWF2Zl9ldGhkZXYub10gRXJyb3IgMQptYWtlWzVd OiAqKiogW2lhdmZdIEVycm9yIDIKbWFrZVs1XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQg am9icy4uLi4KICBDQyBpY2VfY29tbW9uLm8KICBQTURJTkZPIGhuczNfZXRoZGV2Lm8ucG1kLmMK ICBDQyBobnMzX2V0aGRldi5vLnBtZC5vCiAgTEQgaG5zM19ldGhkZXYubwotLQogIFBNRElORk8g aTQwZV9ldGhkZXYuby5wbWQuYwogIENDIGk0MGVfZXRoZGV2Lm8ucG1kLm8KICBMRCBpNDBlX2V0 aGRldi5vCiAgQVIgbGlicnRlX3BtZF9pNDBlLmEKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2k0 MGUuYQptYWtlWzRdOiAqKiogW25ldF0gRXJyb3IgMgptYWtlWzNdOiAqKiogW2RyaXZlcnNdIEVy cm9yIDIKbWFrZVsyXTogKioqIFthbGxdIEVycm9yIDIKbWFrZVsxXTogKioqIFtwcmVfaW5zdGFs bF0gRXJyb3IgMgptYWtlOiAqKiogW2luc3RhbGxdIEVycm9yIDIKCgoqTWFrZSBCdWlsZCBGYWls ZWQgIzk6Ck9TOiBDRU5UT1M3Ny02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj K3NoYXJlZAovcm9vdC9DRU5UT1M3Ny02NF9LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjK3NoYXJlZC9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRr L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzoxMjQ3OjMzOiBlcnJvcjog4oCYVklSVENI TkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAmIFZJUlRDSE5MX1ZG X09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL3Jvb3QvQ0VOVE9TNzctNjRfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYytzaGFyZWQvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6IEF0IHRvcCBsZXZlbDoKY2MxOiB3YXJuaW5nOiB1 bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAiLVduby1hZGRyZXNzLW9mLXBhY2tlZC1t ZW1iZXIiIFtlbmFibGVkIGJ5IGRlZmF1bHRdCm1ha2VbNl06ICoqKiBbaWF2Zl9ldGhkZXYub10g RXJyb3IgMQptYWtlWzVdOiAqKiogW2lhdmZdIEVycm9yIDIKbWFrZVs1XTogKioqIFdhaXRpbmcg Zm9yIHVuZmluaXNoZWQgam9icy4uLi4KICBDQyBoaW5pY19wbWRfbWdtdC5vCiAgQ0MgaGluaWNf cG1kX25pY2NmZy5vCiAgTEQgbGlicnRlX3BtZF9mbTEway5zby4yMC4wLjIKICBDQyBpNDBlX2Nv bW1vbi5vCi0tCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pY2Uuc28uMjAuMC4yCiAgTEQgbGli cnRlX3BtZF9peGdiZS5zby4yMC4wLjIKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2l4Z2JlLnNv LjIwLjAuMgogIExEIGxpYnJ0ZV9wbWRfaTQwZS5zby4yMC4wLjIKICBJTlNUQUxMLUxJQiBsaWJy dGVfcG1kX2k0MGUuc28uMjAuMC4yCm1ha2VbNF06ICoqKiBbbmV0XSBFcnJvciAyCm1ha2VbM106 ICoqKiBbZHJpdmVyc10gRXJyb3IgMgptYWtlWzJdOiAqKiogW2FsbF0gRXJyb3IgMgptYWtlWzFd OiAqKiogW3ByZV9pbnN0YWxsXSBFcnJvciAyCm1ha2U6ICoqKiBbaW5zdGFsbF0gRXJyb3IgMgoK CipNYWtlIEJ1aWxkIEZhaWxlZCAjMTA6Ck9TOiBDRU5UT1M4MC02NApUYXJnZXQ6IHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFUwovcm9vdC9DRU5UT1M4MC02NF9LNC4x OC4wX0dDQzguMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZh MTZjN2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOiBBdCB0 b3AgbGV2ZWw6CmNjMTogd2FybmluZzogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24g 4oCYLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXLigJkKICBDQyBlMTAwMF92Zi5vCm1ha2Vb Nl06ICoqKiBbL3Jvb3QvQ0VOVE9TODAtNjRfSzQuMTguMF9HQ0M4LjIuMS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL2lu dGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMTQ6IGlhdmZfZXRoZGV2Lm9dIEVycm9yIDEKbWFr ZVs1XTogKioqIFsvcm9vdC9DRU5UT1M4MC02NF9LNC4xOC4wX0dDQzguMi4xL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsv cnRlLnN1YmRpci5tazozNTogaWF2Zl0gRXJyb3IgMgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3Ig dW5maW5pc2hlZCBqb2JzLi4uLgogIENDIGlnYl9ldGhkZXYubwogIENDIGZhaWxzYWZlX2ludHIu bwogIEFSIGxpYnJ0ZV9wbWRfY3hnYmUuYQogIENDIGZtMTBrX2FwaS5vCi0tCiAgUE1ESU5GTyBp NDBlX2V0aGRldi5vLnBtZC5jCiAgQ0MgaTQwZV9ldGhkZXYuby5wbWQubwogIExEIGk0MGVfZXRo ZGV2Lm8KICBBUiBsaWJydGVfcG1kX2k0MGUuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfaTQw ZS5hCm1ha2VbNF06ICoqKiBbL3Jvb3QvQ0VOVE9TODAtNjRfSzQuMTguMF9HQ0M4LjIuMS94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9k cGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IG5ldF0gRXJyb3IgMgptYWtlWzNdOiAqKiogWy9yb290 L0NFTlRPUzgwLTY0X0s0LjE4LjBfR0NDOC4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mv YjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RrYnVpbGQubWs6 NDY6IGRyaXZlcnNdIEVycm9yIDIKbWFrZVsyXTogKioqIFsvcm9vdC9DRU5UT1M4MC02NF9LNC4x OC4wX0dDQzguMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZh MTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6OTk6IGFsbF0gRXJyb3IgMgpt YWtlWzFdOiAqKiogWy9yb290L0NFTlRPUzgwLTY0X0s0LjE4LjBfR0NDOC4yLjEveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9t ay9ydGUuc2RraW5zdGFsbC5tazo2MTogcHJlX2luc3RhbGxdIEVycm9yIDIKbWFrZTogKioqIFsv cm9vdC9DRU5UT1M4MC02NF9LNC4xOC4wX0dDQzguMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3Qu bWs6Nzc6IGluc3RhbGxdIEVycm9yIDIKCgoqTWFrZSBCdWlsZCBGYWlsZWQgIzExOgpPUzogQ0VO VE9TNzctNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwovcm9vdC9DRU5UT1M3 Ny02NF9LMy4xMC4wX0lDQzE5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYy9iOWFlODZi YjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhk ZXYuYygxMjQ3KTogZXJyb3I6IGlkZW50aWZpZXIgIlZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxF WF9ERVNDIiBpcyB1bmRlZmluZWQKICAJaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAmIFZJ UlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgCSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCgpjb21waWxhdGlvbiBhYm9ydGVkIGZvciAvcm9vdC9DRU5UT1M3Ny02NF9L My4xMC4wX0lDQzE5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYy9iOWFlODZiYjgxZjg0 ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYyAo Y29kZSAyKQptYWtlWzZdOiAqKiogW2lhdmZfZXRoZGV2Lm9dIEVycm9yIDIKbWFrZVs1XTogKioq IFtpYXZmXSBFcnJvciAyCm1ha2VbNV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMu Li4uCiAgQ0MgaTQwZV9jb21tb24ubwogIENDIGZtMTBrX3J4dHgubwogIENDIGlnYl9yeHR4Lm8K ICBDQyBmYWlsc2FmZV9lYWwubwotLQogIEFSIGxpYnJ0ZV9wbWRfZW5pYy5hCiAgSU5TVEFMTC1M SUIgbGlicnRlX3BtZF9pNDBlLmEKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2VuaWMuYQogIEFS IGxpYnJ0ZV9wbWRfaWNlLmEKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2ljZS5hCm1ha2VbNF06 ICoqKiBbbmV0XSBFcnJvciAyCm1ha2VbM106ICoqKiBbZHJpdmVyc10gRXJyb3IgMgptYWtlWzJd OiAqKiogW2FsbF0gRXJyb3IgMgptYWtlWzFdOiAqKiogW3ByZV9pbnN0YWxsXSBFcnJvciAyCm1h a2U6ICoqKiBbaW5zdGFsbF0gRXJyb3IgMgoKCipNYWtlIEJ1aWxkIEZhaWxlZCAjMTI6Ck9TOiBG QzMxLTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgICAgfCAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL3Jvb3QvRkMzMS02NF9LNS4zLjE0X0dDQzku Mi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgx YTUxYjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjUzOjEzOiBlcnJvcjog aW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKA mHN0cnVjdCB2aXJ0Y2hubF9wa2dfaW5mb+KAmQogIDY1MyB8ICAgICAgc2l6ZW9mKHN0cnVjdCB2 aXJ0Y2hubF9wa2dfaW5mbykpOwogICAgICB8ICAgICAgICAgICAgIF5+fn5+fgogIENDIGhpbmlj X3BtZF9tYm94Lm8KbWFrZVs2XTogKioqIFsvcm9vdC9GQzMxLTY0X0s1LjMuMTRfR0NDOS4yLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFi MjQvZHBkay9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE2OiBpYXZmX3ZjaG5sLm9d IEVycm9yIDEKbWFrZVs2XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KL3Jv b3QvRkMzMS02NF9LNS4zLjE0X0dDQzkuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5 YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZm X2V0aGRldi5jOjEyNDc6MzM6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhf REVTQ+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVVRVPigJk/CiAxMjQ3IHwgIGlmICh2 Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVT QykgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFUwogIENDIGk0MGVfY29tbW9uLm8KbWFr ZVs2XTogKioqIFsvcm9vdC9GQzMxLTY0X0s1LjMuMTRfR0NDOS4yLjEveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9pbnRl cm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE2OiBpYXZmX2V0aGRldi5vXSBFcnJvciAxCm1ha2Vb NV06ICoqKiBbL3Jvb3QvRkMzMS02NF9LNS4zLjE0X0dDQzkuMi4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnN1 YmRpci5tazozNTogaWF2Zl0gRXJyb3IgMgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5p c2hlZCBqb2JzLi4uLgogIENDIGhpbmljX3BtZF9mbG93Lm8KICBDQyBpNDBlX2RpYWcubwogIEND IGk0MGVfaG1jLm8KICBDQyBoaW5pY19wbWRfZXRoZGV2Lm8KLS0KICBMRCBuaXRyb3hfZGV2aWNl Lm8KICBBUiBsaWJydGVfcG1kX25pdHJveC5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9uaXRy b3guYQogIEFSIGxpYnJ0ZV9wbWRfaTQwZS5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pNDBl LmEKbWFrZVs0XTogKioqIFsvcm9vdC9GQzMxLTY0X0s1LjMuMTRfR0NDOS4yLjEveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9t ay9ydGUuc3ViZGlyLm1rOjM1OiBuZXRdIEVycm9yIDIKbWFrZVszXTogKioqIFsvcm9vdC9GQzMx LTY0X0s1LjMuMTRfR0NDOS4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4 MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RrYnVpbGQubWs6NDY6IGRyaXZl cnNdIEVycm9yIDIKbWFrZVsyXTogKioqIFsvcm9vdC9GQzMxLTY0X0s1LjMuMTRfR0NDOS4yLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFi MjQvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo5OTogYWxsXSBFcnJvciAyCm1ha2VbMV06ICoqKiBb L3Jvb3QvRkMzMS02NF9LNS4zLjE0X0dDQzkuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka2luc3RhbGwu bWs6NjE6IHByZV9pbnN0YWxsXSBFcnJvciAyCm1ha2U6ICoqKiBbL3Jvb3QvRkMzMS02NF9LNS4z LjE0X0dDQzkuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZh MTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6Nzc6IGluc3RhbGxdIEVycm9y IDIKCgoqTWFrZSBCdWlsZCBGYWlsZWQgIzEzOgpPUzogU1VTRTE1LTY0ClRhcmdldDogeDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MKICBpZiAodmYtPnZmX3Jlcy0+dmZfY2FwX2ZsYWdzICYgVklS VENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MpIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTCi9yb290L1NV U0UxNS02NF9LNC4xMi4xNF9HQ0M3LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFl ODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9l dGhkZXYuYzogQXQgdG9wIGxldmVsOgpjYzE6IHdhcm5pbmc6IHVucmVjb2duaXplZCBjb21tYW5k IGxpbmUgb3B0aW9uIOKAmC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVy4oCZCm1ha2VbNl06 ICoqKiBbL3Jvb3QvU1VTRTE1LTY0X0s0LjEyLjE0X0dDQzcuMy4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvaW50ZXJu YWwvcnRlLmNvbXBpbGUtcHJlLm1rOjExNjogaWF2Zl9ldGhkZXYub10gRXJyb3IgMQptYWtlWzVd OiAqKiogWy9yb290L1NVU0UxNS02NF9LNC4xMi4xNF9HQ0M3LjMuMS94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5z dWJkaXIubWs6Mzc6IGlhdmZdIEVycm9yIDIKbWFrZVs1XTogKioqIFdhaXRpbmcgZm9yIHVuZmlu aXNoZWQgam9icy4uLi4KPT0gQnVpbGQgZHJpdmVycy9uZXQvaWNlCiAgQ0MgaG5zM19tYngubwog IENDIGhpbmljX3BtZF9od2Rldi5vCiAgUE1ESU5GTyBobnMzX2V0aGRldi5vLnBtZC5jCi0tCiAg TEQgaTQwZV9ldGhkZXYubwogIEFSIGxpYnJ0ZV9wbWRfaWNlLmEKICBJTlNUQUxMLUxJQiBsaWJy dGVfcG1kX2ljZS5hCiAgQVIgbGlicnRlX3BtZF9pNDBlLmEKICBJTlNUQUxMLUxJQiBsaWJydGVf cG1kX2k0MGUuYQptYWtlWzRdOiAqKiogWy9yb290L1NVU0UxNS02NF9LNC4xMi4xNF9HQ0M3LjMu MS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1 MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IG5ldF0gRXJyb3IgMgptYWtlWzNdOiAqKiog Wy9yb290L1NVU0UxNS02NF9LNC4xMi4xNF9HQ0M3LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtidWls ZC5tazo0NjogZHJpdmVyc10gRXJyb3IgMgptYWtlWzJdOiAqKiogWy9yb290L1NVU0UxNS02NF9L NC4xMi4xNF9HQ0M3LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0 ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjk5OiBhbGxdIEVycm9y IDIKbWFrZVsxXTogKioqIFsvcm9vdC9TVVNFMTUtNjRfSzQuMTIuMTRfR0NDNy4zLjEveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBk ay9tay9ydGUuc2RraW5zdGFsbC5tazo2MTogcHJlX2luc3RhbGxdIEVycm9yIDIKbWFrZTogKioq IFsvcm9vdC9TVVNFMTUtNjRfSzQuMTIuMTRfR0NDNy4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2Rrcm9v dC5tazo3NzogaW5zdGFsbF0gRXJyb3IgMgoKCipNYWtlIEJ1aWxkIEZhaWxlZCAjMTQ6Ck9TOiBS SEVMNzctNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovcm9vdC9SSEVMNzct NjRfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgx Zjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYu YzoxMjQ3OjMzOiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0PigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHZmLT52Zl9yZXMt PnZmX2NhcF9mbGFncyAmIFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3Jvb3QvUkhFTDc3LTY0X0szLjEwLjBfR0ND NC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1 ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6IEF0IHRvcCBsZXZl bDoKY2MxOiB3YXJuaW5nOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAiLVduby1h ZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiIFtlbmFibGVkIGJ5IGRlZmF1bHRdCm1ha2VbNl06ICoq KiBbaWF2Zl9ldGhkZXYub10gRXJyb3IgMQptYWtlWzVdOiAqKiogW2lhdmZdIEVycm9yIDIKbWFr ZVs1XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KICBDQyBmbTEwa19yeHR4 X3ZlYy5vCiAgQ0MgaGluaWNfcG1kX21nbXQubwogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9w bWRfaTQwZS5oCiAgQ0MgaWdiX2Zsb3cubwotLQogIFBNRElORk8gaWNlX2V0aGRldi5vLnBtZC5j CiAgQ0MgaWNlX2V0aGRldi5vLnBtZC5vCiAgTEQgaWNlX2V0aGRldi5vCiAgQVIgbGlicnRlX3Bt ZF9pY2UuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfaWNlLmEKbWFrZVs0XTogKioqIFtuZXRd IEVycm9yIDIKbWFrZVszXTogKioqIFtkcml2ZXJzXSBFcnJvciAyCm1ha2VbMl06ICoqKiBbYWxs XSBFcnJvciAyCm1ha2VbMV06ICoqKiBbcHJlX2luc3RhbGxdIEVycm9yIDIKbWFrZTogKioqIFtp bnN0YWxsXSBFcnJvciAyCgoKKk1ha2UgQnVpbGQgRmFpbGVkICMxNToKT1M6IFJIRUw4MC02NApU YXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFUwogIENDIGhu czNfbXAubwovcm9vdC9SSEVMODAtNjRfSzMuMTAuMF9HQ0M4LjIuMS94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzogQXQgdG9wIGxldmVsOgpjYzE6IHdhcm5pbmc6IHVucmVj b2duaXplZCBjb21tYW5kIGxpbmUgb3B0aW9uIOKAmC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVt YmVy4oCZCm1ha2VbNl06ICoqKiBbL3Jvb3QvUkhFTDgwLTY0X0szLjEwLjBfR0NDOC4yLjEveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE0OiBpYXZmX2V0aGRldi5vXSBF cnJvciAxCm1ha2VbNV06ICoqKiBbL3Jvb3QvUkhFTDgwLTY0X0szLjEwLjBfR0NDOC4yLjEveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9tay9ydGUuc3ViZGlyLm1rOjM1OiBpYXZmXSBFcnJvciAyCm1ha2VbNV06ICoqKiBXYWl0 aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgaGluaWNfcG1kX25pY2lvLm8KICBDQyBp NDBlX2htYy5vCiAgQ0MgaTQwZV9sYW5faG1jLm8KICBBUiBsaWJydGVfcG1kX2ZtMTBrLmEKLS0K ICBMRCBpNDBlX2V0aGRldl92Zi5vCiAgQVIgbGlicnRlX3BtZF9oaW5pYy5hCiAgSU5TVEFMTC1M SUIgbGlicnRlX3BtZF9oaW5pYy5hCiAgQVIgbGlicnRlX3BtZF9pNDBlLmEKICBJTlNUQUxMLUxJ QiBsaWJydGVfcG1kX2k0MGUuYQptYWtlWzRdOiAqKiogWy9yb290L1JIRUw4MC02NF9LMy4xMC4w X0dDQzguMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZj N2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnN1YmRpci5tazozNTogbmV0XSBFcnJvciAyCm1ha2Vb M106ICoqKiBbL3Jvb3QvUkhFTDgwLTY0X0szLjEwLjBfR0NDOC4yLjEveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUu c2RrYnVpbGQubWs6NDY6IGRyaXZlcnNdIEVycm9yIDIKbWFrZVsyXTogKioqIFsvcm9vdC9SSEVM ODAtNjRfSzMuMTAuMF9HQ0M4LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZi YjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjk5OiBhbGxd IEVycm9yIDIKbWFrZVsxXTogKioqIFsvcm9vdC9SSEVMODAtNjRfSzMuMTAuMF9HQ0M4LjIuMS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIy NC9kcGRrL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjYxOiBwcmVfaW5zdGFsbF0gRXJyb3IgMgptYWtl OiAqKiogWy9yb290L1JIRUw4MC02NF9LMy4xMC4wX0dDQzguMi4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNk a3Jvb3QubWs6Nzc6IGluc3RhbGxdIEVycm9yIDIKCgoqTWFrZSBCdWlsZCBGYWlsZWQgIzE2OgpP UzogRkMzMS02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovcm9vdC9GQzMxLTY0X0s1LjMuMTRfQ2xh bmc5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFmODRlOGZhMTZj N2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjEyNDc6MzM6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdWSVJUQ0hOTF9WRl9PRkZMT0FE X1JYX0ZMRVhfREVTQycKICAgICAgICBpZiAodmYtPnZmX3Jlcy0+dmZfY2FwX2ZsYWdzICYgVklS VENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MpIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgozIGVycm9ycyBnZW5lcmF0ZWQuCm1ha2VbNl06ICoqKiBbL3Jvb3Qv RkMzMS02NF9LNS4zLjE0X0NsYW5nOS4wLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9i OWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL2ludGVybmFsL3J0ZS5jb21w aWxlLXByZS5tazoxMTY6IGlhdmZfZXRoZGV2Lm9dIEVycm9yIDEKICBDQyBiYXNlL3ZuaWNfaW50 ci5vCiAgQ0MgaGluaWNfcG1kX25pY2NmZy5vCiAgQ0Mgbml0cm94X2xvZ3MubwogIENDIGJhc2Uv dm5pY19ycS5vCiAgQ0Mgbml0cm94X3N5bS5vCiAgQ0MgY2FhbV9qcl9ody5vCiAgUE1ESU5GTyBl bV9ldGhkZXYuby5wbWQuYwogIENDIGVtX2V0aGRldi5vLnBtZC5vCm1ha2VbNV06ICoqKiBbL3Jv b3QvRkMzMS02NF9LNS4zLjE0X0NsYW5nOS4wLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu Zy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6 MzU6IGlhdmZdIEVycm9yIDIKbWFrZVs1XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9i cy4uLi4KPT0gQnVpbGQgZHJpdmVycy9uZXQvaWNlCiAgQ0MgY2FhbV9qcl91aW8ubwogIExEIGVt X2V0aGRldi5vCiAgQ0MgaG5zM19yc3MubwotLQogIENDIGljZV9nZW5lcmljX2Zsb3cubwogIEFS IGxpYnJ0ZV9wbWRfaTQwZS5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pNDBlLmEKICBBUiBs aWJydGVfcG1kX2ljZS5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pY2UuYQptYWtlWzRdOiAq KiogWy9yb290L0ZDMzEtNjRfSzUuMy4xNF9DbGFuZzkuMC4wL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc3Vi ZGlyLm1rOjM1OiBuZXRdIEVycm9yIDIKbWFrZVszXTogKioqIFsvcm9vdC9GQzMxLTY0X0s1LjMu MTRfQ2xhbmc5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFmODRl OGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ2OiBkcml2ZXJzXSBF cnJvciAyCm1ha2VbMl06ICoqKiBbL3Jvb3QvRkMzMS02NF9LNS4zLjE0X0NsYW5nOS4wLjAveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIy NC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjk5OiBhbGxdIEVycm9yIDIKbWFrZVsxXTogKioqIFsv cm9vdC9GQzMxLTY0X0s1LjMuMTRfQ2xhbmc5LjAuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNs YW5nL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka2luc3Rh bGwubWs6NjE6IHByZV9pbnN0YWxsXSBFcnJvciAyCm1ha2U6ICoqKiBbL3Jvb3QvRkMzMS02NF9L NS4zLjE0X0NsYW5nOS4wLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9iOWFlODZiYjgx Zjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc3OiBpbnN0YWxs XSBFcnJvciAyCgoKKk1ha2UgQnVpbGQgRmFpbGVkICMxNzoKT1M6IFNVU0UxNS02NApUYXJnZXQ6 IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovcm9vdC9TVVNFMTUtNjRfSzQuMTIuMTRfQ2xhbmc1LjAuMS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2Rw ZGsvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjEyNDc6MzM6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQycK ICAgICAgICBpZiAodmYtPnZmX3Jlcy0+dmZfY2FwX2ZsYWdzICYgVklSVENITkxfVkZfT0ZGTE9B RF9SWF9GTEVYX0RFU0MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgozIGVycm9ycyBnZW5lcmF0ZWQuCm1ha2VbNl06ICoqKiBbL3Jvb3QvU1VTRTE1LTY0X0s0LjEy LjE0X0NsYW5nNS4wLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0 ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazox MTQ6IGlhdmZfZXRoZGV2Lm9dIEVycm9yIDEKbWFrZVs1XTogKioqIFsvcm9vdC9TVVNFMTUtNjRf SzQuMTIuMTRfQ2xhbmc1LjAuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJi ODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnN1YmRpci5tazozNTogaWF2Zl0g RXJyb3IgMgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgogIEND IGhpbmljX3BtZF9tYm94Lm8KICBDQyBiYXNlL3ZuaWNfZGV2Lm8KICBDQyBmbTEwa19yeHR4X3Zl Yy5vCiAgQ0MgaTQwZV9jb21tb24ubwotLQogIFBNRElORk8gaTQwZV9ldGhkZXYuby5wbWQuYwog IENDIGk0MGVfZXRoZGV2Lm8ucG1kLm8KICBMRCBpNDBlX2V0aGRldi5vCiAgQVIgbGlicnRlX3Bt ZF9pNDBlLmEKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2k0MGUuYQptYWtlWzRdOiAqKiogWy9y b290L1NVU0UxNS02NF9LNC4xMi4xNF9DbGFuZzUuMC4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc3ViZGly Lm1rOjM1OiBuZXRdIEVycm9yIDIKbWFrZVszXTogKioqIFsvcm9vdC9TVVNFMTUtNjRfSzQuMTIu MTRfQ2xhbmc1LjAuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2I5YWU4NmJiODFmODRl OGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ2OiBkcml2ZXJzXSBF cnJvciAyCm1ha2VbMl06ICoqKiBbL3Jvb3QvU1VTRTE1LTY0X0s0LjEyLjE0X0NsYW5nNS4wLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1 MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjk5OiBhbGxdIEVycm9yIDIKbWFrZVsxXTogKioq IFsvcm9vdC9TVVNFMTUtNjRfSzQuMTIuMTRfQ2xhbmc1LjAuMS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWNsYW5nL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNk a2luc3RhbGwubWs6NjE6IHByZV9pbnN0YWxsXSBFcnJvciAyCm1ha2U6ICoqKiBbL3Jvb3QvU1VT RTE1LTY0X0s0LjEyLjE0X0NsYW5nNS4wLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9i OWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc3 OiBpbnN0YWxsXSBFcnJvciAyCgoKKk1ha2UgQnVpbGQgRmFpbGVkICMxODoKT1M6IFVCMTYwNC02 NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCi9yb290L1VCMTYwNC02NF9LNC40 LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmEx NmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0Nzoz MzogZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVND4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh2Zi0+dmZfcmVzLT52Zl9jYXBf ZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9yb290L1VCMTYwNC02NF9LNC40LjBfR0NDNS40LjAveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6IEF0IHRvcCBsZXZlbDoKY2MxOiB3 YXJuaW5nOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiDigJgtV25vLWFkZHJlc3Mt b2YtcGFja2VkLW1lbWJlcuKAmQovcm9vdC9VQjE2MDQtNjRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2Rw ZGsvbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjExNDogcmVjaXBlIGZvciB0YXJnZXQg J2lhdmZfZXRoZGV2Lm8nIGZhaWxlZAptYWtlWzZdOiAqKiogW2lhdmZfZXRoZGV2Lm9dIEVycm9y IDEKbWFrZVs2XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KPT0gQnVpbGQg ZHJpdmVycy9uZXQvaW9uaWMKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfcG1kX2ljZS5oCiAg Q0MgaWNlX2NvbnRyb2xxLm8KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9yb290L1VCMTYwNC02NF9L NC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4 ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzoyMjow OgotLQovcm9vdC9VQjE2MDQtNjRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3ZjaG5sLmM6NjUzOjEzOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDi gJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCB2aXJ0Y2hubF9wa2dfaW5m b+KAmQogICAgICBzaXplb2Yoc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZvKSk7CiAgICAgICAgICAg ICBeCi9yb290L1VCMTYwNC02NF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9p YXZmL2lhdmZfdmNobmwuYzogQXQgdG9wIGxldmVsOgpjYzE6IHdhcm5pbmc6IHVucmVjb2duaXpl ZCBjb21tYW5kIGxpbmUgb3B0aW9uIOKAmC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVy4oCZ Ci9yb290L1VCMTYwNC02NF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9pbnRlcm5hbC9ydGUu Y29tcGlsZS1wcmUubWs6MTE0OiByZWNpcGUgZm9yIHRhcmdldCAnaWF2Zl92Y2hubC5vJyBmYWls ZWQKbWFrZVs2XTogKioqIFtpYXZmX3ZjaG5sLm9dIEVycm9yIDEKL3Jvb3QvVUIxNjA0LTY0X0s0 LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThm YTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IHJlY2lwZSBmb3IgdGFy Z2V0ICdpYXZmJyBmYWlsZWQKbWFrZVs1XTogKioqIFtpYXZmXSBFcnJvciAyCm1ha2VbNV06ICoq KiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgZW1fZXRoZGV2Lm8KICBDQyBp Y2VfY29tbW9uLm8KICBDQyBpNDBlX2NvbW1vbi5vCiAgQ0MgaTQwZV9kaWFnLm8KLS0KICBBUiBs aWJydGVfcG1kX2k0MGUuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfaTQwZS5hCiAgQVIgbGli cnRlX3BtZF9pY2UuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfaWNlLmEKbWFrZVs2XTogd2Fy bmluZzogIENsb2NrIHNrZXcgZGV0ZWN0ZWQuICBZb3VyIGJ1aWxkIG1heSBiZSBpbmNvbXBsZXRl Lgovcm9vdC9VQjE2MDQtNjRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnN1YmRpci5t azozNTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCm1ha2VbNF06ICoqKiBbbmV0XSBF cnJvciAyCi9yb290L1VCMTYwNC02NF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2Rr YnVpbGQubWs6NDY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKbWFrZVszXTog KioqIFtkcml2ZXJzXSBFcnJvciAyCi9yb290L1VCMTYwNC02NF9LNC40LjBfR0NDNS40LjAveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9tay9ydGUuc2Rrcm9vdC5tazo5ODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVk Cm1ha2VbMl06ICoqKiBbYWxsXSBFcnJvciAyCi9yb290L1VCMTYwNC02NF9LNC40LjBfR0NDNS40 LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFh NTFiMjQvZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo2MDogcmVjaXBlIGZvciB0YXJnZXQgJ3By ZV9pbnN0YWxsJyBmYWlsZWQKbWFrZVsxXTogKioqIFtwcmVfaW5zdGFsbF0gRXJyb3IgMgovcm9v dC9VQjE2MDQtNjRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5 YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6Nzc6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKbWFrZTogKioqIFtpbnN0YWxsXSBF cnJvciAyCgoKKk1ha2UgQnVpbGQgRmFpbGVkICMxOToKT1M6IFVCMTgwNC02NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCiAgaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAm IFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFUwovcm9v dC9VQjE4MDQtNjRfSzQuMTUuMF9HQ0M3LjMuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9i OWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9ldGhkZXYuYzogQXQgdG9wIGxldmVsOgpjYzE6IHdhcm5pbmc6IHVucmVjb2duaXplZCBjb21t YW5kIGxpbmUgb3B0aW9uIOKAmC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVy4oCZCi9yb290 L1VCMTgwNC02NF9LNC4xNS4wX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5 YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvaW50ZXJuYWwvcnRlLmNvbXBp bGUtcHJlLm1rOjExNDogcmVjaXBlIGZvciB0YXJnZXQgJ2lhdmZfZXRoZGV2Lm8nIGZhaWxlZApt YWtlWzZdOiAqKiogW2lhdmZfZXRoZGV2Lm9dIEVycm9yIDEKbWFrZVs2XTogKioqIFdhaXRpbmcg Zm9yIHVuZmluaXNoZWQgam9icy4uLi4KL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfR0NDNy4zLjAv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFi MjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2 Zl9leGVjdXRlX3ZmX2NtZOKAmToKL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfR0NDNy4zLjAveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo5MTo3OiBlcnJvcjog4oCYVklSVENI TkxfT1BfUEFDS0FHRV9JTkZP4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFZJUlRDSE5MX09QX0VWRU5U4oCZPwogIGNhc2UgVklSVENI TkxfT1BfUEFDS0FHRV9JTkZPOgogICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0tCiAg ICBfbW1fbG9hZF9zaTEyOCgodm9pZCAqKShyeGRwICsgMSkpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9yb290L1VCMTgwNC02NF9LNC4xNS4wX0dDQzcuMy4wL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsv ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo3ODY6MzM6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2Pi gJkKICAgIF9tbV9sb2FkX3NpMTI4KCh2b2lkICopKHJ4ZHAgKyAwKSk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfR0NDNy4zLjAveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE0OiByZWNpcGUgZm9yIHRhcmdl dCAnaWF2Zl9yeHR4X3ZlY19zc2UubycgZmFpbGVkCm1ha2VbNl06ICoqKiBbaWF2Zl9yeHR4X3Zl Y19zc2Uub10gRXJyb3IgMQogIENDIGljZV9jb250cm9scS5vCj09IEJ1aWxkIGRyaXZlcnMvbmV0 L2lvbmljCi9yb290L1VCMTgwNC02NF9LNC4xNS4wX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfcXVlcnlfcGFja2FnZV9p bmZv4oCZOgovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9HQ0M3LjMuMC94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYzOToxMzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1BBQ0tB R0VfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhWSVJUQ0hOTF9PUF9FVkVOVOKAmT8KICBhcmdzLm9wcyA9IFZJUlRDSE5MX09Q X1BBQ0tBR0VfSU5GTzsKLS0KL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfR0NDNy4zLjAveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBk ay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjk5NToyMTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz Y+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBbMF0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICAg ICAgICAgICAgICAgICBeCi9yb290L1VCMTgwNC02NF9LNC4xNS4wX0dDQzcuMy4wL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsv ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6IEF0IHRvcCBsZXZlbDoKY2MxOiB3YXJuaW5n OiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiDigJgtV25vLWFkZHJlc3Mtb2YtcGFj a2VkLW1lbWJlcuKAmQovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9HQ0M3LjMuMC94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21r L2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMTQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpYXZm X3ZjaG5sLm8nIGZhaWxlZAptYWtlWzZdOiAqKiogW2lhdmZfdmNobmwub10gRXJyb3IgMQo9PSBC dWlsZCBkcml2ZXJzL25ldC9peGdiZQovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9HQ0M3LjMuMC94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIy NC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6IEF0IHRvcCBsZXZl bDoKY2MxOiB3YXJuaW5nOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiDigJgtV25v LWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlcuKAmQovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9HQ0M3 LjMuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4 MWE1MWIyNC9kcGRrL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMTQ6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpYXZmX3J4dHhfdmVjX2F2eDIubycgZmFpbGVkCm1ha2VbNl06ICoqKiBbaWF2 Zl9yeHR4X3ZlY19hdngyLm9dIEVycm9yIDEKPT0gQnVpbGQgZHJpdmVycy9uZXQvbGlxdWlkaW8K L3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfR0NDNy4zLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eC5jOjEwNjM6NTogZXJyb3I6IOKAmElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9N 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu IOKAmElBVkZfVFhfQ1RYX0RFU0NfVFNZTuKAmT8KICAgICBJQVZGX1JYX0ZMWF9ERVNDX1BLVF9M RU5fTSkgLSByeHEtPmNyY19sZW47CiAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAg ICBJQVZGX1RYX0NUWF9ERVNDX1RTWU4KLS0KL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfR0NDNy4z LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFh NTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjI0MjA6MjA6IGVycm9yOiDi gJhJQVZGX1JYRElEX0NPTU1TX09WU18x4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIGlmIChyeHEtPnJ4ZGlkID09IElBVkZfUlhESURfQ09NTVNfT1ZTXzEpCiAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovcm9vdC9VQjE4MDQtNjRf SzQuMTUuMF9HQ0M3LjMuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0 ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEF0 IHRvcCBsZXZlbDoKY2MxOiB3YXJuaW5nOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlv biDigJgtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlcuKAmQovcm9vdC9VQjE4MDQtNjRfSzQu MTUuMF9HQ0M3LjMuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThm YTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMTQ6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpYXZmX3J4dHgubycgZmFpbGVkCm1ha2VbNl06ICoqKiBbaWF2 Zl9yeHR4Lm9dIEVycm9yIDEKL3Jvb3QvVUIxODA0LTY0X0s0LjE1LjBfR0NDNy4zLjAveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBk ay9tay9ydGUuc3ViZGlyLm1rOjM1OiByZWNpcGUgZm9yIHRhcmdldCAnaWF2ZicgZmFpbGVkCm1h a2VbNV06ICoqKiBbaWF2Zl0gRXJyb3IgMgptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5p c2hlZCBqb2JzLi4uLgogIENDIGhuczNfZmxvdy5vCiAgQ0MgZm0xMGtfdGx2Lm8KICBDQyBpb25p Y19yeHR4Lm8KICBDQyBpY2VfY29tbW9uLm8KLS0KICBMRCBpY2VfZXRoZGV2Lm8KICBBUiBsaWJy dGVfcG1kX2k0MGUuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfaTQwZS5hCiAgQVIgbGlicnRl X3BtZF9pY2UuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9wbWRfaWNlLmEKL3Jvb3QvVUIxODA0LTY0 X0s0LjE1LjBfR0NDNy4zLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2YmI4MWY4 NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc3ViZGlyLm1rOjM1OiByZWNpcGUgZm9y IHRhcmdldCAnbmV0JyBmYWlsZWQKbWFrZVs0XTogKioqIFtuZXRdIEVycm9yIDIKL3Jvb3QvVUIx ODA0LTY0X0s0LjE1LjBfR0NDNy4zLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYjlhZTg2 YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RrYnVpbGQubWs6NDY6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKbWFrZVszXTogKioqIFtkcml2ZXJzXSBF cnJvciAyCi9yb290L1VCMTgwNC02NF9LNC4xNS4wX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNk a3Jvb3QubWs6OTg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAptYWtlWzJdOiAqKiog W2FsbF0gRXJyb3IgMgovcm9vdC9VQjE4MDQtNjRfSzQuMTUuMF9HQ0M3LjMuMC94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21r L3J0ZS5zZGtpbnN0YWxsLm1rOjYwOiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZh aWxlZAptYWtlWzFdOiAqKiogW3ByZV9pbnN0YWxsXSBFcnJvciAyCi9yb290L1VCMTgwNC02NF9L NC4xNS4wX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2I5YWU4NmJiODFmODRl OGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6Nzc6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKbWFrZTogKioqIFtpbnN0YWxsXSBFcnJvciAyCgoKKk1h a2UgQnVpbGQgRmFpbGVkICMyMDoKT1M6IEZyZWVCU0QxMjAxLTY0ClRhcmdldDogeDg2XzY0LW5h dGl2ZS1ic2RhcHAtZ2NjK2RlYnVnCi9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzcuMy4w L3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytkZWJ1Zy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4 MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzoxMjQwOjMzOiBub3Rl OiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9HQ0M3 LjMuMC94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MrZGVidWcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3 ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0NzozMzog ZXJyb3I6ICdWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQycgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ1ZJUlRDSE5MX1ZGX09GRkxP QURfUkVRX1FVRVVFUyc/CiAxMjQ3IHwgIGlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBW SVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVR X1FVRVVFUwpnbWFrZVs2XTogKioqIFsvcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9HQ0M3LjMu MC94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MrZGVidWcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1 ODFhNTFiMjQvZHBkay9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE2OiBpYXZmX2V0 aGRldi5vXSBFcnJvciAxCmdtYWtlWzVdOiAqKiogWy9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4x X0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytkZWJ1Zy9iOWFlODZiYjgxZjg0ZThm YTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IGlhdmZdIEVycm9yIDIK Z21ha2VbNV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgYmFzZS92 bmljX3dxLm8KICBDQyBiYXNlL3ZuaWNfZGV2Lm8KICBDQyBmYWlsc2FmZV9yeHR4Lm8KICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfcG1kX2ljZS5oCi0tCiAgUE1ESU5GTyBpeGdiZV9ldGhkZXYu by5wbWQuYwogIENDIGl4Z2JlX2V0aGRldi5vLnBtZC5vCiAgTEQgaXhnYmVfZXRoZGV2Lm8KICBB UiBsaWJydGVfcG1kX2l4Z2JlLmEKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2l4Z2JlLmEKZ21h a2VbNF06ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEtNjRfSzEyLjFfR0NDNy4zLjAveDg2XzY0LW5h dGl2ZS1ic2RhcHAtZ2NjK2RlYnVnL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2Rw ZGsvbWsvcnRlLnN1YmRpci5tazozNTogbmV0XSBFcnJvciAyCmdtYWtlWzNdOiAqKiogWy9yb290 L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytk ZWJ1Zy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtidWls ZC5tazo0NjogZHJpdmVyc10gRXJyb3IgMgpnbWFrZVsyXTogKioqIFsvcm9vdC9GcmVlQlNEMTIw MS02NF9LMTIuMV9HQ0M3LjMuMC94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MrZGVidWcvYjlhZTg2 YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo5OTogYWxs XSBFcnJvciAyCmdtYWtlWzFdOiAqKiogWy9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzcu My4wL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytkZWJ1Zy9iOWFlODZiYjgxZjg0ZThmYTE2Yzdl NzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjYxOiBwcmVfaW5zdGFsbF0gRXJy b3IgMgpnbWFrZTogKioqIFsvcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9HQ0M3LjMuMC94ODZf NjQtbmF0aXZlLWJzZGFwcC1nY2MrZGVidWcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFi MjQvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo3NzogaW5zdGFsbF0gRXJyb3IgMgoKCipNYWtlIEJ1 aWxkIEZhaWxlZCAjMjE6Ck9TOiBGcmVlQlNEMTIwMS02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUt YnNkYXBwLWNsYW5nCjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1ZJUlRD SE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDJwogICAgICAgIGlmICh2Zi0+dmZfcmVzLT52Zl9j YXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCjMgZXJyb3JzICBDQyB0NHZmX2h3Lm8KIGdl bmVyYXRlZC4KZ21ha2VbNl06ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEtNjRfSzEyLjFfQ2xhbmc4 LjAuMS94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4 MWE1MWIyNC9kcGRrL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMTY6IGlhdmZfZXRo ZGV2Lm9dIEVycm9yIDEKZ21ha2VbNV06ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEtNjRfSzEyLjFf Q2xhbmc4LjAuMS94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0ZThmYTE2 YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6Mzc6IGlhdmZdIEVycm9yIDIKZ21h a2VbNV06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgZm0xMGtfY29t bW9uLm8KICBDQyBmYWlsc2FmZV9mbG93Lm8KICBDQyBlMTAwMF9vc2RlcC5vCiAgQ0MgZm0xMGtf bWJ4Lm8KLS0KICBQTURJTkZPIGk0MGVfZXRoZGV2Lm8ucG1kLmMKICBDQyBpNDBlX2V0aGRldi5v LnBtZC5vCiAgTEQgaTQwZV9ldGhkZXYubwogIEFSIGxpYnJ0ZV9wbWRfaTQwZS5hCiAgSU5TVEFM TC1MSUIgbGlicnRlX3BtZF9pNDBlLmEKZ21ha2VbNF06ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEt NjRfSzEyLjFfQ2xhbmc4LjAuMS94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9iOWFlODZiYjgx Zjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IG5ldF0gRXJy b3IgMgpnbWFrZVszXTogKioqIFsvcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9DbGFuZzguMC4x L3g4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUx YjI0L2RwZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ2OiBkcml2ZXJzXSBFcnJvciAyCmdtYWtlWzJd OiAqKiogWy9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0NsYW5nOC4wLjEveDg2XzY0LW5hdGl2 ZS1ic2RhcHAtY2xhbmcvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9y dGUuc2Rrcm9vdC5tazo5OTogYWxsXSBFcnJvciAyCmdtYWtlWzFdOiAqKiogWy9yb290L0ZyZWVC U0QxMjAxLTY0X0sxMi4xX0NsYW5nOC4wLjEveDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcvYjlh ZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo2 MTogcHJlX2luc3RhbGxdIEVycm9yIDIKZ21ha2U6ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEtNjRf SzEyLjFfQ2xhbmc4LjAuMS94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9iOWFlODZiYjgxZjg0 ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc3OiBpbnN0YWxsXSBF cnJvciAyCgoKKk1ha2UgQnVpbGQgRmFpbGVkICMyMjoKT1M6IEZyZWVCU0QxMjAxLTY0ClRhcmdl dDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCi9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dD QzkuMi4wL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4 MWE1MWIyNC9kcGRrL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzoxMjQ3OjMzOiBlcnJv cjogJ1ZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDJyB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnVklSVENITkxfVkZfT0ZGTE9BRF9S RVFfUVVFVUVTJz8KIDEyNDcgfCAgaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAmIFZJUlRD SE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVF VUVTCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX3BtZF9pNDBlLmgKZ21ha2VbNl06ICoqKiBb L3Jvb3QvRnJlZUJTRDEyMDEtNjRfSzEyLjFfR0NDOS4yLjAveDg2XzY0LW5hdGl2ZS1ic2RhcHAt Z2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvaW50ZXJuYWwvcnRl LmNvbXBpbGUtcHJlLm1rOjExNjogaWF2Zl9ldGhkZXYub10gRXJyb3IgMQpnbWFrZVs1XTogKioq IFsvcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9HQ0M5LjIuMC94ODZfNjQtbmF0aXZlLWJzZGFw cC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc3ViZGly Lm1rOjM3OiBpYXZmXSBFcnJvciAyCmdtYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hl ZCBqb2JzLi4uLgogIENDIG5pdHJveF9zeW1fcmVxbWdyLm8KICBDQyBlbmljX3Jlcy5vCiAgUE1E SU5GTyBmbTEwa19ldGhkZXYuby5wbWQuYwogIENDIGZtMTBrX2V0aGRldi5vLnBtZC5vCi0tCiAg TEQgaWNlX2V0aGRldi5vCiAgQVIgbGlicnRlX3BtZF9pNDBlLmEKICBBUiBsaWJydGVfcG1kX2lj ZS5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX3BtZF9pNDBlLmEKICBJTlNUQUxMLUxJQiBsaWJydGVf cG1kX2ljZS5hCmdtYWtlWzRdOiAqKiogWy9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzku Mi4wL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1 MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IG5ldF0gRXJyb3IgMgpnbWFrZVszXTogKioq IFsvcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9HQ0M5LjIuMC94ODZfNjQtbmF0aXZlLWJzZGFw cC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RrYnVp bGQubWs6NDY6IGRyaXZlcnNdIEVycm9yIDIKZ21ha2VbMl06ICoqKiBbL3Jvb3QvRnJlZUJTRDEy MDEtNjRfSzEyLjFfR0NDOS4yLjAveDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2I5YWU4NmJiODFm ODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6OTk6IGFsbF0gRXJy b3IgMgpnbWFrZVsxXTogKioqIFsvcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9HQ0M5LjIuMC94 ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo2MTogcHJlX2luc3RhbGxdIEVycm9yIDIKZ21ha2U6 ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEtNjRfSzEyLjFfR0NDOS4yLjAveDg2XzY0LW5hdGl2ZS1i c2RhcHAtZ2NjL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2RwZGsvbWsvcnRlLnNk a3Jvb3QubWs6Nzc6IGluc3RhbGxdIEVycm9yIDIKCgoqTWFrZSBCdWlsZCBGYWlsZWQgIzIzOgpP UzogRnJlZUJTRDEyMDEtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2Mrc2hhcmVk Ci9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtYnNkYXBw LWdjYytzaGFyZWQvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9kcml2ZXJz L25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0MDozMzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVh cnMgaW4KL3Jvb3QvRnJlZUJTRDEyMDEtNjRfSzEyLjFfR0NDNy4zLjAveDg2XzY0LW5hdGl2ZS1i c2RhcHAtZ2NjK3NoYXJlZC9iOWFlODZiYjgxZjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzoxMjQ3OjMzOiBlcnJvcjogJ1ZJUlRDSE5MX1ZG X09GRkxPQURfUlhfRkxFWF9ERVNDJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiAnVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTJz8KIDEy NDcgfCAgaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAmIFZJUlRDSE5MX1ZGX09GRkxPQURf UlhfRkxFWF9ERVNDKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTCmdtYWtlWzZdOiAq KiogWy9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtYnNk YXBwLWdjYytzaGFyZWQvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9p bnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE2OiBpYXZmX2V0aGRldi5vXSBFcnJvciAxCmdt YWtlWzVdOiAqKiogWy9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzcuMy4wL3g4Nl82NC1u YXRpdmUtYnNkYXBwLWdjYytzaGFyZWQvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQv ZHBkay9tay9ydGUuc3ViZGlyLm1rOjM3OiBpYXZmXSBFcnJvciAyCmdtYWtlWzVdOiAqKiogV2Fp dGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgogIENDIGJhc2Uvdm5pY193cS5vCiAgQ0MgZTEw MDBfcGh5Lm8KICBDQyB0NHZmX2h3Lm8KICBDQyBpNDBlX2RjYi5vCi0tCiAgUE1ESU5GTyBpY2Vf ZXRoZGV2Lm8ucG1kLmMKICBDQyBpY2VfZXRoZGV2Lm8ucG1kLm8KICBMRCBpY2VfZXRoZGV2Lm8K ICBMRCBsaWJydGVfcG1kX2ljZS5zby4yMC4wLjIKICBJTlNUQUxMLUxJQiBsaWJydGVfcG1kX2lj ZS5zby4yMC4wLjIKZ21ha2VbNF06ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEtNjRfSzEyLjFfR0ND Ny4zLjAveDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjK3NoYXJlZC9iOWFlODZiYjgxZjg0ZThmYTE2 YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IG5ldF0gRXJyb3IgMgpnbWFr ZVszXTogKioqIFsvcm9vdC9GcmVlQlNEMTIwMS02NF9LMTIuMV9HQ0M3LjMuMC94ODZfNjQtbmF0 aXZlLWJzZGFwcC1nY2Mrc2hhcmVkL2I5YWU4NmJiODFmODRlOGZhMTZjN2U3NTgxYTUxYjI0L2Rw ZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ2OiBkcml2ZXJzXSBFcnJvciAyCmdtYWtlWzJdOiAqKiog Wy9yb290L0ZyZWVCU0QxMjAxLTY0X0sxMi4xX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtYnNkYXBw LWdjYytzaGFyZWQvYjlhZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUu c2Rrcm9vdC5tazo5OTogYWxsXSBFcnJvciAyCmdtYWtlWzFdOiAqKiogWy9yb290L0ZyZWVCU0Qx MjAxLTY0X0sxMi4xX0dDQzcuMy4wL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytzaGFyZWQvYjlh ZTg2YmI4MWY4NGU4ZmExNmM3ZTc1ODFhNTFiMjQvZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo2 MTogcHJlX2luc3RhbGxdIEVycm9yIDIKZ21ha2U6ICoqKiBbL3Jvb3QvRnJlZUJTRDEyMDEtNjRf SzEyLjFfR0NDNy4zLjAveDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjK3NoYXJlZC9iOWFlODZiYjgx Zjg0ZThmYTE2YzdlNzU4MWE1MWIyNC9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc3OiBpbnN0YWxs XSBFcnJvciAyCgoqTWVzb24gQnVpbGQgRmFpbGVkICMxOgpPUzogVUIxNjA0LTMyClRhcmdldDou L2J1aWxkLWdjYy1zdGF0aWMKRkFJTEVEOiBkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lh dmZAc3RhL25ldF9pYXZmX2lhdmZfdmNobmwuYy5vIApnY2MgLUlkcml2ZXJzL2E3MTUxODFAQHRt cF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL25ldC9p YXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9u L2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0 ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8gLUljb25maWcgLUkuLi9j b25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsL2luY2x1ZGUgLUls aWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGli cnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAt SWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX25l dCAtSS4uL2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9t YnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xp YnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xp Yi9saWJydGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUku Li9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVf cGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2Nv bW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFs d2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdl cnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdk ZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5n LWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xk LXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0 LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZpZWxkLWlu aXRpYWxpemVycyAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgLURfR05VX1NPVVJDRSAtZlBJQyAt bWFyY2g9bmF0aXZlIC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQT1JUIC1EQUxM T1dfRVhQRVJJTUVOVEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1k X2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfdmNobmwuYy5vJyAtTUYgJ2RyaXZlcnMvYTcxNTE4MUBA dG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5jLm8uZCcgLW8gJ2RyaXZl cnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5jLm8n IC1jIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jCkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzoyMjowOgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCDigJhwa2dfaW5mb+KAmSBoYXMgaW5jb21w bGV0ZSB0eXBlCiAgc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZvIHBrZ19pbmZvOyAvKiBwYWNrYWdl IGluZm8gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9leGVjdXRlX3ZmX2NtZOKAmToKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6OTE6NzogZXJyb3I6IOKAmFZJUlRDSE5MX09Q X1BBQ0tBR0VfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBjYXNlIFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GTzoKICAgICAgIF4KLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3ZjaG5sLmM6OTE6Nzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6OTI6NzogZXJyb3I6IOKAmFZJUlRDSE5MX09Q X1JYRElE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNhc2Ug VklSVENITkxfT1BfUlhESUQ6CiAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hu bC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2dldF92Zl9yZXNvdXJjZeKAmToKLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MzQ0OjM6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FE X1FVRVJZX0REUOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg VklSVENITkxfVkZfT0ZGTE9BRF9RVUVSWV9ERFAgfAogICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl92Y2hubC5jOjM0NTozOiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVY X0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIFZJUlRD SE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDOwogICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl92Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2dldF9zdXBwb3J0ZWRfcnhkaWTigJk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjM4OToxMzogZXJyb3I6IOKAmFZJUlRDSE5M X09QX1JYRElE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGFy Z3Mub3BzID0gVklSVENITkxfT1BfUlhESUQ7CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl92Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2NvbmZpZ3VyZV9xdWV1ZXPi gJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYwMTo4OiBlcnJvcjog4oCYVklS VENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0Mg JiYKICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmLy4u Ly4uL2NvbW1vbi9pYXZmL2lhdmZfcHJvdG90eXBlLmg6ODowLAogICAgICAgICAgICAgICAgIGZy b20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjIyOgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfdmNobmwuYzo2MDI6MzQ6IGVycm9yOiDigJhJQVZGX1JYRElEX0NPTU1TX09WU18x4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIHZmLT5zdXBwb3J0 ZWRfcnhkaWQgJiBCSVQoSUFWRl9SWERJRF9DT01NU19PVlNfMSkpIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2 Zi9pYXZmX3R5cGUuaDoyMzoyNTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhCSVTi gJkKICNkZWZpbmUgQklUKGEpICgxVUwgPDwgKGEpKQogICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2MDM6MTU6IGVycm9yOiDigJhzdHJ1 Y3QgdmlydGNobmxfcnhxX2luZm/igJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhyeGRpZOKAmQog ICAgIHZjX3FwLT5yeHEucnhkaWQgPSBJQVZGX1JYRElEX0NPTU1TX09WU18xOwogICAgICAgICAg ICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDox MzowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5s LmM6MjI6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYwNjozMzogZXJyb3I6IOKA mHN0cnVjdCB2aXJ0Y2hubF9yeHFfaW5mb+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHJ4ZGlk 4oCZCiAgICAgICAgICAiUXVldWVbJWRdIiwgdmNfcXAtPnJ4cS5yeGRpZCwgaSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2xvZy5o OjE3OjE2OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFBNRF9EUlZfTE9HX1JBV+KA mQogICBfX2Z1bmNfXywgIyMgYXJncykKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3ZjaG5sLmM6NjA1OjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhQ TURfRFJWX0xPR+KAmQogICAgIFBNRF9EUlZfTE9HKE5PVElDRSwgInJlcXVlc3QgUlhESUQgPT0g JWQgaW4gIgogICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjA4OjE1OiBl cnJvcjog4oCYc3RydWN0IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYcnhkaWTigJkKICAgICB2Y19xcC0+cnhxLnJ4ZGlkID0gSUFWRl9SWERJRF9MRUdBQ1lfMTsK ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2MDg6MjQ6 IGVycm9yOiDigJhJQVZGX1JYRElEX0xFR0FDWV8x4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgIHZjX3FwLT5yeHEucnhkaWQgPSBJQVZGX1JYRElEX0xFR0FD WV8xOwogICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9k cml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMzowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MjI6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92 Y2hubC5jOjYxMTozMzogZXJyb3I6IOKAmHN0cnVjdCB2aXJ0Y2hubF9yeHFfaW5mb+KAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmHJ4ZGlk4oCZCiAgICAgICAgICAiUXVldWVbJWRdIiwgdmNfcXAt PnJ4cS5yeGRpZCwgaSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX2xvZy5oOjE3OjE2OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvIOKAmFBNRF9EUlZfTE9HX1JBV+KAmQogICBfX2Z1bmNfXywgIyMgYXJncykKICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjEwOjU6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhQTURfRFJWX0xPR+KAmQogICAgIFBNRF9EUlZfTE9HKE5P VElDRSwgInJlcXVlc3QgUlhESUQgPT0gJWQgaW4gIgogICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3ZjaG5sLmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfcXVlcnlfcGFja2FnZV9pbmZv4oCZ OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2Mzk6MTM6IGVycm9yOiDigJhWSVJU Q0hOTF9PUF9QQUNLQUdFX0lORk/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgYXJncy5vcHMgPSBWSVJUQ0hOTF9PUF9QQUNLQUdFX0lORk87CiAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjY1MzoxMzogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1 Y3QgdmlydGNobmxfcGtnX2luZm/igJkKICAgICAgc2l6ZW9mKHN0cnVjdCB2aXJ0Y2hubF9wa2df aW5mbykpOwogICAgICAgICAgICAgXgpbOTQ5LzE5NzNdIENvbXBpbGluZyBDIG9iamVjdCAnZHJp dmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX2V0aGRldi5j Lm8nLgpGQUlMRUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lh dmZfaWF2Zl9ldGhkZXYuYy5vIApnY2MgLUlkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lh dmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL25ldC9pYXZmIC1JLi4vZHJp dmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYgLUkuLi9k cml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUku Li9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNs dWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2Vh bC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbC9jb21t b24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2Fy Y2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVf a3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX25ldCAtSS4uL2xpYi9s aWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xp YnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1J Li4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xpYi9saWJydGVfbWV0 ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1 cy9wY2kvbGludXggLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVy cy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1J Li4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAt RF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcg LWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1X Zm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9u cyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmlu aXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMg LVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAt V25vLXBvaW50ZXItdG8taW50LWNhc3QgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZl IC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQT1JUIC1EQUxMT1dfRVhQRVJJTUVO VEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25l dF9pYXZmX2lhdmZfZXRoZGV2LmMubycgLU1GICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1k X2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRoZGV2LmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgx QEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX2V0aGRldi5jLm8nIC1jIC4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjI4OjA6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkIOKAmHBrZ19pbmZv4oCZIGhhcyBpbmNvbXBsZXRlIHR5 cGUKICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8qIHBhY2thZ2UgaW5mbyAq LwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9l dGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9pbml0X3Zm4oCZOgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfZXRoZGV2LmM6MTI0MDozMzogZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09GRkxPQURf UVVFUllfRERQ4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlm ICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1FVRVJZX0RE UCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9ldGhkZXYuYzoxMjQwOjMzOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0NzozMzogZXJyb3I6IOKAmFZJUlRD SE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVND4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIGlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9W Rl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCls5NTAvMTk3M10gTGlua2luZyBzdGF0aWMgdGFyZ2V0IGRyaXZlcnMvbmV0L2hpbmljL2Jh c2UvbGliaGluaWNfYmFzZS5hLgpbOTUxLzE5NzNdIENvbXBpbGluZyBDIG9iamVjdCAnZHJpdmVy cy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHhfdmVjX3Nz ZS5jLm8nLgpGQUlMRUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0 X2lhdmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vIApnY2MgLUlkcml2ZXJzL2E3MTUxODFAQHRtcF9y dGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL25ldC9pYXZm IC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lh dmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0ZV9l dGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8gLUljb25maWcgLUkuLi9jb25m aWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsL2luY2x1ZGUgLUlsaWIv bGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRl X2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9p bmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxp Yi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX25ldCAt SS4uL2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVm IC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0 ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xpYi9s aWJydGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9k cml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNp IC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2NvbW1v bi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5 cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJv ciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXBy ZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRl Y2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXBy b3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRp YWxpemVycyAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFy Y2g9bmF0aXZlIC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQT1JUIC1EQUxMT1df RVhQRVJJTUVOVEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lh dmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfc3NlLmMubycgLU1GICdkcml2ZXJzL2E3MTUx ODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfc3NlLmMuby5k JyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZm X3J4dHhfdmVjX3NzZS5jLm8nIC1jIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19z c2UuYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX3NzZS5jOjk6MDoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmg6MTEwOjI3OiBlcnJvcjog ZmllbGQg4oCYcGtnX2luZm/igJkgaGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCB2aXJ0Y2hu bF9wa2dfaW5mbyBwa2dfaW5mbzsgLyogcGFja2FnZSBpbmZvICovCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOiBJbiBm dW5jdGlvbiDigJhmbGV4X2Rlc2NfdG9fb2xmbGFnc1924oCZOgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfc3NlLmM6Mjg5Ojk6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1 ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogIGlmIChyeHEtPnZzaS0+YWRhcHRl ci0+ZmRpcl9lbmFibGVkKSB7CiAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX3NzZS5jOiBJbiBmdW5jdGlvbiDigJhmbGV4X2Rlc2NfdG9fcHR5cGVfduKAmToKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjM4MDo0NjogZXJyb3I6IOKAmElB VkZfUlhfRkxFWF9ERVNDX1BUWVBFX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgY29uc3QgX19tMTI4aSBwdHlwZV9tYXNrID0gX21tX3NldF9lcGkxNigwLCBJ QVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6 MzgwOjQ2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfc3NlLmM6IEluIGZ1bmN0aW9uIOKAmF9yZWN2X3Jhd19wa3RzX3ZlY19m bGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjY1ODoz MzogZXJyb3I6IOKAmHN0cnVjdCBpYXZmX3J4X3F1ZXVl4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYdnNp4oCZCiAgY29uc3QgdWludDMyX3QgKnB0eXBlX3RibCA9IHJ4cS0+dnNpLT5hZGFwdGVy LT5wdHlwZV90Ymw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzoxMDow OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5oOjYyOjI3OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAj ZGVmaW5lIGlhdmZfcnhfZmxleF9kZXNjIGlhdmZfMzJiX3J4X2ZsZXhfZGVzYwogICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2Uu Yzo3MTM6MTY6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhpYXZmX3J4X2ZsZXhfZGVz Y+KAmQogIHJ4ZHAgPSAodW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgKilyeHEtPnJ4X3JpbmcgKyBy eHEtPnJ4X3RhaWw7CiAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4X3ZlY19zc2UuYzo3MjY6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQog IGlmICghKHJ4ZHAtPndiLnN0YXR1c19lcnJvcjAgJgogICAgICAgICAgICBeCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6MjMsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2Lmg6MTU5LAogICAgICAg ICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaDox OCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3Zl Y19zc2UuYzo2OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzI3OjMw OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIHJ0ZV9jcHVfdG9fbGVfMzIoMSA8 PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MpKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVf Ynl0ZW9yZGVyLmg6NzQ6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2Nw dV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19z c2UuYzo3NTk6NzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9u IGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAgcnhkcCArPSBJQVZGX1ZQTURfREVTQ1Nf UEVSX0xPT1ApIHsKICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3Nz ZS5jOjc3MzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24g aWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIGRlc2NzWzNdID0gX21tX2xvYWR1X3NpMTI4KChf X20xMjhpICopKHJ4ZHAgKyAzKSk7CiAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX3NzZS5jOjc4NDozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY dW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIGRlc2NzWzJdID0gX21tX2xvYWR1X3Np MTI4KChfX20xMjhpICopKHJ4ZHAgKyAyKSk7CiAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHhfdmVjX3NzZS5jOjc4NzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIGRlc2NzWzFdID0gX21tX2xv YWR1X3NpMTI4KChfX20xMjhpICopKHJ4ZHAgKyAxKSk7CiAgIF4KLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjgzMzoxMDogZXJyb3I6IOKAmHN0cnVjdCBpYXZmX3J4X3F1 ZXVl4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdnNp4oCZCiAgIGlmIChyeHEtPnZzaS0+YWRh cHRlci0+ZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYKICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjgzODo2OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgICAgICgodm9pZCAqKSgmcnhkcFszXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjg0Mjo2OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgICAgICgodm9pZCAqKSgmcnhkcFsyXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjg0Njo2OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgICAgICgodm9pZCAqKSgmcnhkcFsxXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjg1MDo2OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgICAgICgodm9pZCAqKSgmcnhkcFswXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAg IF4KWzk1Mi8xOTczXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0 ZV9wbWRfaGluaWNAc3RhL25ldF9oaW5pY19oaW5pY19wbWRfZXRoZGV2LmMubycuCls5NTMvMTk3 M10gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2k0MGVA c3RhL25ldF9pNDBlX2k0MGVfZXRoZGV2LmMubycuCls5NTQvMTk3M10gQ29tcGlsaW5nIEMgb2Jq ZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2hpbmljQHN0YS9uZXRfaGluaWNfaGlu aWNfcG1kX3J4LmMubycuCls5NTUvMTk3M10gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3 MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eC5jLm8nLgpGQUlM RUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9y eHR4LmMubyAKZ2NjIC1JZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YSAtSWRy aXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9uZXQvaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lh dmYgLUlkcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9uZXQv aWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSWxpYi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0 ZV9ldGhkZXYgLUkuIC1JLi4vIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xp Yi9saWJydGVfZWFsL2xpbnV4L2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1J Li4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUv YXJjaC94ODYgLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSWxp Yi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4u L2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAt SWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9v bCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJy dGVfcmluZyAtSWxpYi9saWJydGVfbWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVy cy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4 IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYg LUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JZHJpdmVycy9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMv Y29tbW9uL2lhdmYgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZT RVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0 ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdC1ub25s aXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5n LXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9p bnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3 cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby1wb2ludGVy LXRvLWludC1jYXN0IC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtV25vLXN0cmlj dC1hbGlhc2luZyAtRENDX0FWWDJfU1VQUE9SVCAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLU1E IC1NUSAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZm X3J4dHguYy5vJyAtTUYgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0 X2lhdmZfaWF2Zl9yeHR4LmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9p YXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHguYy5vJyAtYyAuLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eC5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eC5jOjI3OjA6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZp ZWxkIOKAmHBrZ19pbmZv4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgdmlydGNobmxf cGtnX2luZm8gcGtnX2luZm87IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAgICAgICAgICAg ICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eC5jOjI4OjA6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4Lmg6NjI6Mjc6IGVycm9y OiDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFt ZXRlciBsaXN0IFstV2Vycm9yXQogI2RlZmluZSBpYXZmX3J4X2ZsZXhfZGVzYyBpYXZmXzMyYl9y eF9mbGV4X2Rlc2MKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjcxOToyMTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGlh dmZfcnhfZmxleF9kZXNj4oCZCiAgICAgIHZvbGF0aWxlIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNj ICpyeGRwKQogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4Lmg6NjI6Mjc6IGVycm9yOiBpdHMgc2NvcGUgaXMgb25seSB0aGlzIGRlZmluaXRpb24gb3Ig ZGVjbGFyYXRpb24sIHdoaWNoIGlzIHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50IFstV2Vycm9y XQogI2RlZmluZSBpYXZmX3J4X2ZsZXhfZGVzYyBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjcx OToyMTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGlhdmZfcnhfZmxleF9kZXNj4oCZ CiAgICAgIHZvbGF0aWxlIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNjICpyeGRwKQogICAgICAgICAg ICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRl X21idWYuaDo0MzowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rp b24g4oCYaWF2Zl9mbGV4X3J4ZF90b192bGFuX3RjaeKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzo3MjE6Mjc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogIGlm IChydGVfbGVfdG9fY3B1XzY0KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjApICYKICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4 Ni9ydGVfYnl0ZW9yZGVyLmg6ODM6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2xlX3RvX2NwdV82NOKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzY0KHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6NzIyOjk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0wyVEFHMVBfU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgKDEgPDwgSUFWRl9S WF9GTEVYX0RFU0NfU1RBVFVTMF9MMlRBRzFQX1MpKSB7CiAgICAgICAgIF4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzo3MjI6OTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Mjg6 MDoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogQXQgdG9wIGxldmVsOgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5oOjYyOjI3OiBlcnJvcjog4oCYdW5pb24gaWF2Zl8zMmJf cnhfZmxleF9kZXNj4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0K ICNkZWZpbmUgaWF2Zl9yeF9mbGV4X2Rlc2MgaWF2Zl8zMmJfcnhfZmxleF9kZXNjCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo3OTE6 MjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhpYXZmX3J4X2ZsZXhfZGVzY+KAmQog ICAgICAgICAgdm9sYXRpbGUgdW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgKnJ4ZHApCiAgICAgICAg ICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21i dWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4g ZnVuY3Rpb24g4oCYaWF2Zl9yeGRfdG9fcGt0X2ZpZWxkc+KAmToKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzo3OTg6MzQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHN0cnVjdCBpYXZmXzMyYl9yeF9mbGV4X2Rlc2NfY29t bXNfb3Zz4oCZCiAgc3RhdF9lcnIgPSBydGVfbGVfdG9fY3B1XzE2KGRlc2MtPnN0YXR1c19lcnJv cjApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvbGlicnRlX2Vh bC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQogI2RlZmluZSBydGVf bGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4 Ni9ydGVfc3BpbmxvY2suaDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX3J3bG9jay5oOjEzLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2ZiYXJyYXku aDo0MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNs dWRlL3J0ZV9tZW1vcnkuaDoyNSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9tZW16b25lLmg6MjcsCiAgICAgICAgICAgICAgICAgZnJv bSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE2OgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eC5jOjc5OTozMDogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBf UlNTX1ZBTElEX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg aWYgKGxpa2VseShzdGF0X2VyciAmICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfUlNT X1ZBTElEX1MpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2VseeKAmQogI2RlZmluZSBsaWtlbHkoeCkg X19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDi gJhpYXZmX2ZsZXhfcnhkX2Vycm9yX3RvX3BrdF9mbGFnc+KAmToKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzo4MjY6MzU6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMw X0wzTDRQX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYg KHVubGlrZWx5KCEoc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9M M0w0UF9TKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtl bHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODEyOjk6 IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0hCT19T4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICgoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19T VEFUVVMwX0hCT19TKSB8IFwKICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDoyNDozOTogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhsaWtlbHnigJkKICNkZWZpbmUgbGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3Qo ISEoeCksIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhJQVZGX1JYX0ZMRVhfRVJSMF9CSVRT4oCZCiAgaWYgKGxpa2VseSghKHN0YXRfZXJy MCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODEzOjk6IGVycm9yOiDigJhJQVZG X1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fSVBFX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNV TV9JUEVfUykgfCBcCiAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUv cnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6Mzk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYbGlrZWx54oCZCiAjZGVmaW5lIGxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgp LCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KAmQogIGlmIChsaWtlbHkoIShzdGF0X2VycjAgJiBJ QVZGX1JYX0ZMRVhfRVJSMF9CSVRTKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxNDo5OiBlcnJvcjog4oCYSUFWRl9SWF9G TEVYX0RFU0NfU1RBVFVTMF9YU1VNX0w0RV9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fTDRF X1MpIHwgXAogICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9i cmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mGxpa2VseeKAmQogI2RlZmluZSBsaWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjgyOToyNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmElB VkZfUlhfRkxFWF9FUlIwX0JJVFPigJkKICBpZiAobGlrZWx5KCEoc3RhdF9lcnIwICYgSUFWRl9S WF9GTEVYX0VSUjBfQklUUykpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4MTU6OTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfWFNVTV9FSVBFX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9FSVBFX1Mp IHwgXAogICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFu Y2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxp a2VseeKAmQogI2RlZmluZSBsaWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eC5jOjgyOToyNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmElBVkZf UlhfRkxFWF9FUlIwX0JJVFPigJkKICBpZiAobGlrZWx5KCEoc3RhdF9lcnIwICYgSUFWRl9SWF9G TEVYX0VSUjBfQklUUykpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4MTY6OTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVND X1NUQVRVUzBfWFNVTV9FVURQRV9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fRVVEUEVfUykg fCBcCiAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5j aF9wcmVkaWN0aW9uLmg6MjQ6Mzk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYbGlr ZWx54oCZCiAjZGVmaW5lIGxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4LmM6ODI5OjI3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFWRl9S WF9GTEVYX0VSUjBfQklUU+KAmQogIGlmIChsaWtlbHkoIShzdGF0X2VycjAgJiBJQVZGX1JYX0ZM RVhfRVJSMF9CSVRTKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxNzo5OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0Nf U1RBVFVTMF9SWEVfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9SWEVfUykpCiAgICAgICAgIF4KLi4v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6 Mzk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYbGlrZWx54oCZCiAjZGVmaW5lIGxp a2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KA mQogIGlmIChsaWtlbHkoIShzdGF0X2VycjAgJiBJQVZGX1JYX0ZMRVhfRVJSMF9CSVRTKSkpIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3JlY3ZfcGt0c19mbGV4X3J4ZOKAmToKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo5OTk6MjY6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCY cnhk4oCZIGlzbuKAmXQga25vd24KICB1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyByeGQ7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjEw MTc6MTc6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5h bWVkIOKAmHZzaeKAmQogIHB0eXBlX3RibCA9IHJ4cS0+dnNpLT5hZGFwdGVyLT5wdHlwZV90Ymw7 CiAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9t YnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTAy MTozOTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCY dm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIHJ4X3N0YXRfZXJyMCA9 IHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1 ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4 KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eC5jOjEwMjQ6MzA6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMw X0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIGlmICgh KHJ4X3N0YXRfZXJyMCAmICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUykpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmM6MTA2Mzo1OiBlcnJvcjog4oCYSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX03igJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSUFWRl9SWF9GTFhfREVT Q19QS1RfTEVOX00pIC0gcnhxLT5jcmNfbGVuOwogICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzoxMDczOjMyOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfUFRZUEVfTeKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcnhtLT5wYWNrZXRf dHlwZSA9IHB0eXBlX3RibFtJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NICYKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTAx MDoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHB0eXBlX3RibOKAmSBzZXQgYnV0IG5vdCB1c2VkIFst V2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIGNvbnN0IHVpbnQzMl90ICpwdHlwZV90 Ymw7CiAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo5 OTk6MjY6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcnhk4oCZIFstV2Vycm9yPXVudXNlZC12 YXJpYWJsZV0KICB1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyByeGQ7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDi gJhpYXZmX3JlY3Zfc2NhdHRlcmVkX3BrdHNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MTExMToyNjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyeGTigJkg aXNu4oCZdCBrbm93bgogIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNjIHJ4ZDsKICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTEyNTozMzog ZXJyb3I6IOKAmHN0cnVjdCBpYXZmX3J4X3F1ZXVl4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY dnNp4oCZCiAgY29uc3QgdWludDMyX3QgKnB0eXBlX3RibCA9IHJ4cS0+dnNpLT5hZGFwdGVyLT5w dHlwZV90Ymw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzOjAsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eC5jOjExMjk6Mzk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhf ZGVzY+KAmQogICByeF9zdGF0X2VycjAgPSBydGVfbGVfdG9fY3B1XzE2KHJ4ZHAtPndiLnN0YXR1 c19lcnJvcjApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MToz MDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAj ZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTMyOjMwOiBlcnJvcjog4oCY SUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICBpZiAoIShyeF9zdGF0X2VycjAgJiAoMSA8PCBJQVZGX1JYX0ZM RVhfREVTQ19TVEFUVVMwX0REX1MpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjExNzM6NTogZXJyb3I6IOKAmElBVkZfUlhf RkxYX0RFU0NfUEtUX0xFTl9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgIElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9NOwogICAgIF4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTk5OjMwOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0Nf U1RBVFVTMF9FT0ZfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgaWYgKCEocnhfc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9F T0ZfUykpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzoxMjMxOjM4OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfUFRZ UEVfTeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgZmlyc3Rf c2VnLT5wYWNrZXRfdHlwZSA9IHB0eXBlX3RibFtJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NICYK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MTEyNToxODogZXJyb3I6IHZhcmlhYmxlIOKAmHB0eXBlX3RibOKAmSBz ZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIGNvbnN0 IHVpbnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTExMToyNjog ZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhyeGTigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxl XQogIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNjIHJ4ZDsKICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZf cnhfc2Nhbl9od19yaW5nX2ZsZXhfcnhk4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eC5jOjE0ODI6MzM6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHZzaeKAmQogIGNvbnN0IHVpbnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZz aS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0Mzow LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzox NzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNDg3OjM1OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZm XzMyYl9yeF9mbGV4X2Rlc2PigJkKICBzdGF0X2VycjAgPSBydGVfbGVfdG9fY3B1XzE2KHJ4ZHAt PndiLnN0YXR1c19lcnJvcjApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5o OjgxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbi gJkKICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE0OTA6MjY6IGVycm9y OiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKCEoc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9G TEVYX0RFU0NfU1RBVFVTMF9ERF9TKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE0OTc6NzogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAg cnhkcCArPSBJQVZGX0xPT0tfQUhFQUQsIHJ4ZXAgKz0gSUFWRl9MT09LX0FIRUFEKSB7CiAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUwMDo0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZ CiAgICBzW2pdID0gcnRlX2xlX3RvX2NwdV8xNihyeGRwW2pdLndiLnN0YXR1c19lcnJvcjApOwog ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MTc6NDogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KA mQogICAgcGt0X2xlbiA9IChydGVfbGVfdG9fY3B1XzE2KHJ4ZHBbal0ud2IucGt0X2xlbikgJgog ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MTg6NTogZXJyb3I6IOKAmElB VkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgIElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9NKSAtIHJ4cS0+Y3JjX2xl bjsKICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUyMzozMjogZXJyb3I6 IOKAmElBVkZfUlhfRkxFWF9ERVNDX1BUWVBFX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICBtYi0+cGFja2V0X3R5cGUgPSBwdHlwZV90YmxbSUFWRl9SWF9G TEVYX0RFU0NfUFRZUEVfTSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MjQ6NTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgIHJ0 ZV9sZV90b19jcHVfMTYocnhkcFtqXS53Yi5wdHlwZV9mbGV4X2ZsYWdzMCldOwogICAgIF4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNTI1OjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgIGlh dmZfZmxleF9yeGRfdG9fdmxhbl90Y2kobWIsICZyeGRwW2pdKTsKICAgIF4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzoxNTI2OjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgIGlhdmZfcnhkX3Rv X3BrdF9maWVsZHMobWIsICZyeGRwW2pdKTsKICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHguYzoxNTI3OjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1 bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgIHN0YXRfZXJyMCA9IHJ0ZV9sZV90b19j cHVfMTYocnhkcFtqXS53Yi5zdGF0dXNfZXJyb3IwKTsKICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzoxNDgyOjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcHR5cGVfdGJs4oCZIHNl dCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiAgY29uc3Qg dWludDMyX3QgKnB0eXBlX3RibCA9IHJ4cS0+dnNpLT5hZGFwdGVyLT5wdHlwZV90Ymw7CiAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rp b24g4oCYcnhfcmVjdl9wa3Rz4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3 MzY6MjA6IGVycm9yOiDigJhJQVZGX1JYRElEX0NPTU1TX09WU18x4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChyeHEtPnJ4ZGlkID09IElBVkZfUlhESURf Q09NTVNfT1ZTXzEpCiAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3NldF9yeF9mdW5jdGlvbuKAmToKLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyMjA1OjU6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9P RkZMT0FEX1JYX0ZMRVhfREVTQ+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICAgICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykKICAgICBeCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9kZXZfcnhx X2NvdW50X2ZsZXhfcnhk4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjIzMzc6 MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHZv bGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAgICBydGVfbGVfdG9f Y3B1XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjApICYKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0 ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3Rv X2NwdV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjMzODox NTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgKDEgPDwgSUFWRl9SWF9GTEVY X0RFU0NfU1RBVFVTMF9ERF9TKSkgewogICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MjM0NDozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIHJ4ZHAgKz0gSUFWRl9SWFFf U0NBTl9JTlRFUlZBTDsKICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBm dW5jdGlvbiDigJhpYXZmX2Rldl9yeHFfY291bnTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4LmM6MjM2NjoyMDogZXJyb3I6IOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHJ4cS0+cnhkaWQgPT0g SUFWRl9SWERJRF9DT01NU19PVlNfMSkKICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9kZXZfcnhfZGVzY19z dGF0dXNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjQwNToy NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9s YXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgaWYgKHJ0ZV9sZV90b19jcHVf MTYocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCkgJgogICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIu aDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE2 4oCZCiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyNDA2Ojk6IGVycm9y OiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBf RERfUykpCiAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVu Y3Rpb24g4oCYaWF2Zl9kZXZfcnhfZGVzY19zdGF0dXPigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4LmM6MjQyMDoyMDogZXJyb3I6IOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHJ4cS0+cnhkaWQg PT0gSUFWRl9SWERJRF9DT01NU19PVlNfMSkKICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxs IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCls5NTYvMTk3M10gQ29tcGlsaW5nIEMg b2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2hpbmljQHN0YS9uZXRfaGluaWNf aGluaWNfcG1kX2Zsb3cuYy5vJy4KWzk1Ny8xOTczXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZl cnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaGluaWNAc3RhL25ldF9oaW5pY19oaW5pY19wbWRfdHgu Yy5vJy4KbmluamE6IGJ1aWxkIHN0b3BwZWQ6IHN1YmNvbW1hbmQgZmFpbGVkCgoKCgoqTWVzb24g QnVpbGQgRmFpbGVkICMyOgpPUzogRkMzMS02NApUYXJnZXQ6Li9idWlsZC1nY2Mtc3RhdGljCkZB SUxFRDogZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZm X3J4dHhfdmVjX3NzZS5jLm8gCmdjYyAtSWRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2 ZkBzdGEgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvbmV0L2lhdmYgLUkuLi9kcml2 ZXJzL25ldC9pYXZmIC1JZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSS4uL2Ry aXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYgLUlsaWIvbGlicnRlX2V0aGRldiAtSS4u L2xpYi9saWJydGVfZXRoZGV2IC1JLiAtSS4uLyAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9s aWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1 ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9saW51eC9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFs L2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL2FyY2gveDg2IC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJj aC94ODYgLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xpYi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9r dmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAtSWxpYi9saWJydGVfbmV0IC1JLi4vbGliL2xp YnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYgLUkuLi9saWIvbGlicnRlX21idWYgLUlsaWIvbGli cnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3JpbmcgLUku Li9saWIvbGlicnRlX3JpbmcgLUlsaWIvbGlicnRlX21ldGVyIC1JLi4vbGliL2xpYnJ0ZV9tZXRl ciAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVz L3BjaS9saW51eCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJz L2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWRyaXZlcnMvY29tbW9uL2lhdmYgLUku Li9kcml2ZXJzL2NvbW1vbi9pYXZmIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1waXBlIC1E X0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2Vycm9yIC1PMiAtZyAt aW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdm b3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25z IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5p dGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAt V3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25v LXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dO VV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8t c3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQT1JUIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQ SSAtTUQgLU1RICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZm X2lhdmZfcnh0eF92ZWNfc3NlLmMubycgLU1GICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1k X2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfc3NlLmMuby5kJyAtbyAnZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHhfdmVjX3NzZS5j Lm8nIC1jIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYwpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkIOKAmHBrZ19pbmZv 4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAxMTAgfCAgc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZv IHBrZ19pbmZvOyAvKiBwYWNrYWdlIGluZm8gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzog SW4gZnVuY3Rpb24g4oCYZmxleF9kZXNjX3RvX29sZmxhZ3NfduKAmToKLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjI4OTo5OiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhf cXVldWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh2c2nigJkKICAyODkgfCAgaWYgKHJ4cS0+ dnNpLT5hZGFwdGVyLT5mZGlyX2VuYWJsZWQpIHsKICAgICAgfCAgICAgICAgIF5+Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzogSW4gZnVuY3Rpb24g4oCYZmxleF9kZXNj X3RvX3B0eXBlX3bigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzoz ODA6NDY6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9N4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfVFhfQ1RY X0RFU0NfU1dQReKAmT8KICAzODAgfCAgY29uc3QgX19tMTI4aSBwdHlwZV9tYXNrID0gX21tX3Nl dF9lcGkxNigwLCBJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NLAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ QVZGX1RYX0NUWF9ERVNDX1NXUEUKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3Nz ZS5jOjM4MDo0Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOiBJbiBmdW5jdGlvbiDigJhfcmVjdl9yYXdfcGt0c192 ZWNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo2 NTg6MzM6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5h bWVkIOKAmHZzaeKAmQogIDY1OCB8ICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsID0gcnhxLT52 c2ktPmFkYXB0ZXItPnB0eXBlX3RibDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo3MTM6NDk6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9y eF9mbGV4X2Rlc2PigJkKICA3MTMgfCAgcnhkcCA9ICh1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyAq KXJ4cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFpbDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4X3ZlY19zc2UuYzo3MjY6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQog IDcyNiB8ICBpZiAoIShyeGRwLT53Yi5zdGF0dXNfZXJyb3IwICYKICAgICAgfCAgICAgICAgICAg IF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0 MywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfbmV0L3J0ZV9ldGhlci5oOjIz LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5o OjE1OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhk ZXZfZHJpdmVyLmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfc3NlLmM6NjoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVj X3NzZS5jOjcyNzozMDogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhJQVZGX1JYX0RFU0NfU1RBVFVTX0xBU1TigJk/CiAgNzI3IHwgICAgICAgIHJ0ZV9jcHVfdG9f bGVfMzIoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MpKSkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgou Li9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6 NzQ6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKA mQogICA3NCB8ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVj X3NzZS5jOjc1OToxMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVu aW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogIDc1OSB8ICAgICAgIHJ4ZHAgKz0gSUFWRl9W UE1EX0RFU0NTX1BFUl9MT09QKSB7CiAgICAgIHwgICAgICAgICAgICBefgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzczOjQ3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgNzczIHwg ICBkZXNjc1szXSA9IF9tbV9sb2FkdV9zaTEyOCgoX19tMTI4aSAqKShyeGRwICsgMykpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo3ODQ6NDc6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkK ICA3ODQgfCAgIGRlc2NzWzJdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhpICopKHJ4ZHAgKyAy KSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjc4Nzo0NzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhf ZGVzY+KAmQogIDc4NyB8ICAgZGVzY3NbMV0gPSBfbW1fbG9hZHVfc2kxMjgoKF9fbTEyOGkgKiko cnhkcCArIDEpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODMzOjEw OiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhfcXVldWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJh2c2nigJkKICA4MzMgfCAgIGlmIChyeHEtPnZzaS0+YWRhcHRlci0+ZXRoX2Rldi0+ZGF0YS0+ ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYKICAgICAgfCAgICAgICAgICBefgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODM4OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgODM4 IHwgICAgICAoKHZvaWQgKikoJnJ4ZHBbM10ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3Nl LmM6ODQyOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24g aWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgODQyIHwgICAgICAoKHZvaWQgKikoJnJ4ZHBbMl0u d2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODQ2OjIxOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAg ODQ2IHwgICAgICAoKHZvaWQgKikoJnJ4ZHBbMV0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNf c3NlLmM6ODUwOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5p b24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgODUwIHwgICAgICAoKHZvaWQgKikoJnJ4ZHBb MF0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgpbOTg4 LzIyNDhdIENvbXBpbGluZyBDIG9iamVjdCAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9p YXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3ZjaG5sLmMubycuCkZBSUxFRDogZHJpdmVycy9hNzE1MTgx QEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3ZjaG5sLmMubyAKZ2NjIC1JZHJp dmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJz IC1JZHJpdmVycy9uZXQvaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9p YXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24v aWF2ZiAtSWxpYi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4v IC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUku Li9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4 L2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUkuLi9saWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSWxpYi9saWJydGVfZWFsIC1JLi4v bGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3Zhcmdz IC1JbGliL2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAt SS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVf bWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJy dGVfbWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJp dmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kg LUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92 ZGV2IC1JZHJpdmVycy9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLWZkaWFn bm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAt V2ludmFsaWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJh IC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNl Y3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0 ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24t Y29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8t YWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlz c2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZl IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NV UFBPUlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBA dG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5jLm8nIC1NRiAnZHJpdmVy cy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3ZjaG5sLmMuby5k JyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZm X3ZjaG5sLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMKSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjIyOgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCDigJhwa2dfaW5mb+KAmSBo YXMgaW5jb21wbGV0ZSB0eXBlCiAgMTEwIHwgIHN0cnVjdCB2aXJ0Y2hubF9wa2dfaW5mbyBwa2df aW5mbzsgLyogcGFja2FnZSBpbmZvICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g 4oCYaWF2Zl9leGVjdXRlX3ZmX2NtZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5s LmM6OTE6NzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GT+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgOTEgfCAgY2FzZSBWSVJUQ0hOTF9PUF9Q QUNLQUdFX0lORk86CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjkxOjc6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBp ZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjkyOjc6IGVycm9yOiDigJhW SVJUQ0hOTF9PUF9SWERJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9PUF9SU1ZE4oCZPwogICA5MiB8ICBjYXNlIFZJ UlRDSE5MX09QX1JYRElEOgogICAgICB8ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwg ICAgICAgVklSVENITkxfT1BfUlNWRAouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzog SW4gZnVuY3Rpb24g4oCYaWF2Zl9nZXRfdmZfcmVzb3VyY2XigJk6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl92Y2hubC5jOjM0NDozOiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZGTE9BRF9RVUVS WV9ERFDigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SU1ZE4oCZPwogIDM0NCB8ICAgVklSVENITkxf VkZfT0ZGTE9BRF9RVUVSWV9ERFAgfAogICAgICB8ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUlNWRAouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfdmNobmwuYzozNDU6MzogZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09GRkxPQURfUlhf RkxFWF9ERVND4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFU+KAmT8KICAzNDUgfCAg IFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDOwogICAgICB8ICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FV RVVFUwouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2 Zl9nZXRfc3VwcG9ydGVkX3J4ZGlk4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwu YzozODk6MTM6IGVycm9yOiDigJhWSVJUQ0hOTF9PUF9SWERJROKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9PUF9SU1ZE 4oCZPwogIDM4OSB8ICBhcmdzLm9wcyA9IFZJUlRDSE5MX09QX1JYRElEOwogICAgICB8ICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgVklSVENITkxfT1Bf UlNWRAouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2 Zl9jb25maWd1cmVfcXVldWVz4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2 MDE6ODogZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVND4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFZJUlRD SE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFU+KAmT8KICA2MDEgfCAgICAgICAgVklSVENITkxfVkZf T0ZGTE9BRF9SWF9GTEVYX0RFU0MgJiYKICAgICAgfCAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVF VUVTCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1v bi9pYXZmL2lhdmZfcHJvdG90eXBlLmg6OCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zi5oOjksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfdmNobmwuYzoyMjoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6 NjAyOjM0OiBlcnJvcjog4oCYSUFWRl9SWERJRF9DT01NU19PVlNfMeKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICA2MDIgfCAgICAgICAgdmYtPnN1cHBvcnRlZF9y eGRpZCAmIEJJVChJQVZGX1JYRElEX0NPTU1TX09WU18xKSkgewogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9u ZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2Zi9pYXZmX3R5cGUuaDoyMzoyNTogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhCSVTigJkKICAgMjMgfCAjZGVmaW5lIEJJVChhKSAoMVVMIDw8 IChhKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl92Y2hubC5jOjYwMzoxNTogZXJyb3I6IOKAmHN0cnVjdCB2aXJ0Y2hubF9yeHFfaW5m b+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHJ4ZGlk4oCZCiAgNjAzIHwgICAgIHZjX3FwLT5y eHEucnhkaWQgPSBJQVZGX1JYRElEX0NPTU1TX09WU18xOwogICAgICB8ICAgICAgICAgICAgICAg XgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmg6MTMsCiAg ICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzoyMjoK Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjA2OjMzOiBlcnJvcjog4oCYc3RydWN0 IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcnhkaWTigJkKICA2 MDYgfCAgICAgICAgICAiUXVldWVbJWRdIiwgdmNfcXAtPnJ4cS5yeGRpZCwgaSk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9sb2cuaDoxNzoxNjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhQTURfRFJWX0xP R19SQVfigJkKICAgMTcgfCAgIF9fZnVuY19fLCAjIyBhcmdzKQogICAgICB8ICAgICAgICAgICAg ICAgIF5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjA1OjU6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhQTURfRFJWX0xPR+KAmQogIDYwNSB8ICAgICBQTURfRFJW X0xPRyhOT1RJQ0UsICJyZXF1ZXN0IFJYRElEID09ICVkIGluICIKICAgICAgfCAgICAgXn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjA4OjE1OiBlcnJvcjog4oCY c3RydWN0IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcnhkaWTi gJkKICA2MDggfCAgICAgdmNfcXAtPnJ4cS5yeGRpZCA9IElBVkZfUlhESURfTEVHQUNZXzE7CiAg ICAgIHwgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYw ODoyNDogZXJyb3I6IOKAmElBVkZfUlhESURfTEVHQUNZXzHigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjA4IHwgICAgIHZjX3FwLT5yeHEucnhkaWQgPSBJQVZG X1JYRElEX0xFR0FDWV8xOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm Lmg6MTMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNo bmwuYzoyMjoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjExOjMzOiBlcnJvcjog 4oCYc3RydWN0IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcnhk aWTigJkKICA2MTEgfCAgICAgICAgICAiUXVldWVbJWRdIiwgdmNfcXAtPnJ4cS5yeGRpZCwgaSk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9sb2cuaDoxNzoxNjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhQ TURfRFJWX0xPR19SQVfigJkKICAgMTcgfCAgIF9fZnVuY19fLCAjIyBhcmdzKQogICAgICB8ICAg ICAgICAgICAgICAgIF5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjEwOjU6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhQTURfRFJWX0xPR+KAmQogIDYxMCB8ICAg ICBQTURfRFJWX0xPRyhOT1RJQ0UsICJyZXF1ZXN0IFJYRElEID09ICVkIGluICIKICAgICAgfCAg ICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6IEluIGZ1bmN0 aW9uIOKAmGlhdmZfcXVlcnlfcGFja2FnZV9pbmZv4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfdmNobmwuYzo2Mzk6MTM6IGVycm9yOiDigJhWSVJUQ0hOTF9PUF9QQUNLQUdFX0lORk/igJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjM5IHwgIGFyZ3Mub3Bz ID0gVklSVENITkxfT1BfUEFDS0FHRV9JTkZPOwogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2NTM6MTM6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZv4oCZCiAgNjUzIHwgICAgICBzaXplb2Yo c3RydWN0IHZpcnRjaG5sX3BrZ19pbmZvKSk7CiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+Cls5 ODkvMjI0OF0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1k X2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRoZGV2LmMubycuCkZBSUxFRDogZHJpdmVycy9hNzE1 MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX2V0aGRldi5jLm8gCmdjYyAt SWRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEgLUlkcml2ZXJzIC1JLi4vZHJp dmVycyAtSWRyaXZlcnMvbmV0L2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmIC1JZHJpdmVycy9u ZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29t bW9uL2lhdmYgLUlsaWIvbGlicnRlX2V0aGRldiAtSS4uL2xpYi9saWJydGVfZXRoZGV2IC1JLiAt SS4uLyAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRl IC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9s aW51eC9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVf ZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JLi4v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUlsaWIvbGlicnRlX2VhbCAt SS4uL2xpYi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2 YXJncyAtSWxpYi9saWJydGVfbmV0IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21i dWYgLUkuLi9saWIvbGlicnRlX21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGli cnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRlX3JpbmcgLUlsaWIv bGlicnRlX21ldGVyIC1JLi4vbGliL2xpYnJ0ZV9tZXRlciAtSWRyaXZlcnMvYnVzL3BjaSAtSS4u L2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9saWJydGVf cGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9i dXMvdmRldiAtSWRyaXZlcnMvY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL2NvbW1vbi9pYXZmIC1m ZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdh bGwgLVdpbnZhbGlkLXBjaCAtV2Vycm9yIC1PMiAtZyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdl eHRyYSAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1h dC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1X bmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdz aWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAt V25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25v LW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5h dGl2ZSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZY Ml9TVVBQT1JUIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3MTUx ODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRoZGV2LmMubycgLU1GICdk cml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRoZGV2 LmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2 Zl9pYXZmX2V0aGRldi5jLm8nIC1jIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYwpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjI4 OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCDigJhwa2df aW5mb+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgMTEwIHwgIHN0cnVjdCB2aXJ0Y2hubF9wa2df aW5mbyBwa2dfaW5mbzsgLyogcGFja2FnZSBpbmZvICovCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6IElu IGZ1bmN0aW9uIOKAmGlhdmZfaW5pdF92ZuKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0 aGRldi5jOjEyNDA6MzM6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1FVRVJZX0REUOKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JTVkTigJk/CiAxMjQwIHwgIGlmICh2Zi0+dmZfcmVzLT52 Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1FVRVJZX0REUCkgewogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZJUlRDSE5MX1ZGX09G RkxPQURfUlNWRAouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0MDozMzogbm90 ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBl YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRl di5jOjEyNDc6MzM6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQ+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVVRVPigJk/CiAxMjQ3IHwgIGlmICh2Zi0+dmZf cmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZJ UlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFUwpbOTkwLzIyNDhdIENvbXBpbGluZyBDIG9iamVj dCAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4 dHhfdmVjX2F2eDIuYy5vJy4KRkFJTEVEOiBkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lh dmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfYXZ4Mi5jLm8gCmdjYyAtSWRyaXZlcnMvYTcx NTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZl cnMvbmV0L2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmIC1JZHJpdmVycy9uZXQvaWF2Zi8uLi8u Li9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYgLUls aWIvbGlicnRlX2V0aGRldiAtSS4uL2xpYi9saWJydGVfZXRoZGV2IC1JLiAtSS4uLyAtSWNvbmZp ZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9saW51eC9lYWwvaW5j bHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAt SWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JLi4vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xpYi9saWJy dGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAtSWxpYi9s aWJydGVfbmV0IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYgLUkuLi9saWIv bGlicnRlX21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wg LUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRlX3JpbmcgLUlsaWIvbGlicnRlX21ldGVy IC1JLi4vbGliL2xpYnJ0ZV9tZXRlciAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVz L3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxpYi9saWJydGVfcGNpIC1JLi4vbGli L2xpYnJ0ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4vZHJpdmVycy9idXMvdmRldiAtSWRy aXZlcnMvY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL2NvbW1vbi9pYXZmIC1mZGlhZ25vc3RpY3Mt Y29sb3I9YWx3YXlzIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlk LXBjaCAtV2Vycm9yIC1PMiAtZyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAtV2Nhc3Qt cXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAt V21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVy bnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUg LVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mt b2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmll bGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtV25vLWZv cm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQT1JUIC1E QUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVf cG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfYXZ4Mi5jLm8nIC1NRiAnZHJpdmVy cy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHhfdmVjX2F2 eDIuYy5vLmQnIC1vICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9p YXZmX2lhdmZfcnh0eF92ZWNfYXZ4Mi5jLm8nIC1jIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4X3ZlY19hdngyLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4X3ZlY19jb21tb24uaDoxMSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6NToKLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmLmg6MTEwOjI3OiBlcnJvcjogZmllbGQg4oCYcGtnX2luZm/igJkgaGFzIGluY29tcGxldGUg dHlwZQogIDExMCB8ICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8qIHBhY2th Z2UgaW5mbyAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzogSW4gZnVuY3Rpb24g4oCYaWF2 Zl9yeHFfcmVhcm3igJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6 MjA6MjA6IGVycm9yOiDigJhJQVZGX1JYRElEX0NPTU1TX09WU18x4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAyMCB8ICBpZiAocnhxLT5yeGRpZCA9PSBJQVZG X1JYRElEX0NPTU1TX09WU18xKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzoy MDoyMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBv bmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHhfdmVjX2F2eDIuYzogSW4gZnVuY3Rpb24g4oCYX2lhdmZfcmVjdl9yYXdfcGt0c192 ZWNfYXZ4Ml9mbGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2 eDIuYzo1OTY6MzQ6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHZzaeKAmQogIDU5NiB8ICBjb25zdCB1aW50MzJfdCAqdHlwZV90YWJsZSA9 IHJ4cS0+dnNpLT5hZGFwdGVyLT5wdHlwZV90Ymw7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIu Yzo2MDI6NDM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBp YXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICA2MDIgfCAgICh1bmlvbiBpYXZmX3J4X2ZsZXhfZGVz YyAqKXJ4cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFpbDsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 X3ZlY19hdngyLmM6NjE5OjEyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICA2 MTkgfCAgaWYgKCEocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCAmCiAgICAgIHwgICAgICAgICAgICBe fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDMs CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX25ldC9ydGVfZXRoZXIuaDoyMywK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuaDox NTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2 X2RyaXZlci5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHhfdmVjX2NvbW1vbi5oOjgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjU6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4X3ZlY19hdngyLmM6NjIwOjI2OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RB VFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVOKAmT8KICA2MjAgfCAgICBydGVf Y3B1X3RvX2xlXzMyKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9TKSkpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVy Lmg6NzQ6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogICA3NCB8ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX2F2eDIuYzo2NDU6NDogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRU9G X1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19FT0ZfU0hJRlTigJk/CiAgNjQ1IHwgICAgSUFWRl9S WF9GTEVYX0RFU0NfU1RBVFVTMF9FT0ZfUyk7CiAgICAgIHwgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgogICAgICB8ICAgIElBVkZfUlhfREVTQ19TVEFUVVNfRU9GX1NISUZUCi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6NzUyOjEyOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj 4oCZCiAgNzUyIHwgICAgICAgcnhkcCArPSBJQVZGX0RFU0NTX1BFUl9MT09QX0FWWCkgewogICAg ICB8ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIu Yzo3NjU6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBp YXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICA3NjUgfCAgICBfbW1fbG9hZF9zaTEyOCgodm9pZCAq KShyeGRwICsgNykpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc2ODozMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz Y+KAmQogIDc2OCB8ICAgIF9tbV9sb2FkX3NpMTI4KCh2b2lkICopKHJ4ZHAgKyA2KSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4X3ZlY19hdngyLmM6NzcxOjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgNzcxIHwgICAgX21t X2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDUpKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIu Yzo3NzQ6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBp YXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICA3NzQgfCAgICBfbW1fbG9hZF9zaTEyOCgodm9pZCAq KShyeGRwICsgNCkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc3NzozMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz Y+KAmQogIDc3NyB8ICAgIF9tbV9sb2FkX3NpMTI4KCh2b2lkICopKHJ4ZHAgKyAzKSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4X3ZlY19hdngyLmM6NzgwOjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgNzgwIHwgICAgX21t X2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDIpKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIu Yzo3ODM6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBp YXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICA3ODMgfCAgICBfbW1fbG9hZF9zaTEyOCgodm9pZCAq KShyeGRwICsgMSkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc4NjozMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz Y+KAmQogIDc4NiB8ICAgIF9tbV9sb2FkX3NpMTI4KCh2b2lkICopKHJ4ZHAgKyAwKSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4X3ZlY19hdngyLmM6ODI2OjIyOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0Nf UFRZUEVfTeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhJQVZGX1RYX0NUWF9ERVNDX1NXUEXigJk/CiAgODI2IHwgICAgX21tMjU2X3Nl dDFfZXBpMTYoSUFWRl9SWF9GTEVYX0RFU0NfUFRZUEVfTSk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgIElBVkZfVFhfQ1RYX0RFU0NfU1dQRQouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eF92ZWNfYXZ4Mi5jOjkwNjoxMDogZXJyb3I6IOKAmHN0cnVjdCBpYXZmX3J4X3F1ZXVl4oCZIGhh cyBubyBtZW1iZXIgbmFtZWQg4oCYdnNp4oCZCiAgOTA2IHwgICBpZiAocnhxLT52c2ktPmFkYXB0 ZXItPmZkaXJfZW5hYmxlZCkgewogICAgICB8ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6OTYyOjEwOiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhf cXVldWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh2c2nigJkKICA5NjIgfCAgIGlmIChyeHEt PnZzaS0+YWRhcHRlci0+ZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYK ICAgICAgfCAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4 Mi5jOjk2NzoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9u IGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogIDk2NyB8ICAgICAgKCh2b2lkICopKCZyeGRwWzdd LndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5NzE6MjE6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkK ICA5NzEgfCAgICAgICgodm9pZCAqKSgmcnhkcFs2XS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3Zl Y19hdngyLmM6OTc1OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY dW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgOTc1IHwgICAgICAoKHZvaWQgKikoJnJ4 ZHBbNV0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjk3OToyMTogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz Y+KAmQogIDk3OSB8ICAgICAgKCh2b2lkICopKCZyeGRwWzRdLndiLnN0YXR1c19lcnJvcjEpKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX2F2eDIuYzo5ODM6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICA5ODMgfCAgICAgICgodm9pZCAq KSgmcnhkcFszXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6OTg3OjIxOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxl eF9kZXNj4oCZCiAgOTg3IHwgICAgICAoKHZvaWQgKikoJnJ4ZHBbMl0ud2Iuc3RhdHVzX2Vycm9y MSkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eF92ZWNfYXZ4Mi5jOjk5MToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogIDk5MSB8ICAgICAgKCh2 b2lkICopKCZyeGRwWzFdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5OTU6MjE6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9y eF9mbGV4X2Rlc2PigJkKICA5OTUgfCAgICAgICgodm9pZCAqKSgmcnhkcFswXS53Yi5zdGF0dXNf ZXJyb3IxKSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBeCls5OTEvMjI0OF0gQ29tcGls aW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9p YXZmX2lhdmZfcnh0eC5jLm8nLgpGQUlMRUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRf aWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4LmMubyAKZ2NjIC1JZHJpdmVycy9hNzE1MTgxQEB0 bXBfcnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9uZXQv aWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1v bi9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSWxpYi9saWJy dGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4vIC1JY29uZmlnIC1JLi4v Y29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2Vh bC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2VhbC9pbmNsdWRlIC1J bGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUkuLi9saWIvbGlicnRlX2VhbC9jb21t b24vaW5jbHVkZS9hcmNoL3g4NiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwg LUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9u ZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVf bWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9s aWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfbWV0ZXIgLUkuLi9s aWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRl X3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JZHJpdmVycy9j b21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLWZkaWFnbm9zdGljcy1jb2xvcj1h bHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1X ZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1X ZGVwcmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2lu Zy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29s ZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmlj dC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNr ZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0 aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19F WFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2 ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4LmMubycgLU1GICdkcml2ZXJzL2E3MTUxODFAQHRtcF9y dGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eC5jLm8uZCcgLW8gJ2RyaXZlcnMvYTcx NTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4LmMubycgLWMgLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmg6 MTEwOjI3OiBlcnJvcjogZmllbGQg4oCYcGtnX2luZm/igJkgaGFzIGluY29tcGxldGUgdHlwZQog IDExMCB8ICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8qIHBhY2thZ2UgaW5m byAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Mjg6Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4Lmg6NjI6Mjc6IGVycm9yOiDigJh1bmlvbiBpYXZmXzMyYl9y eF9mbGV4X2Rlc2PigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJl IHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJy b3JdCiAgIDYyIHwgI2RlZmluZSBpYXZmX3J4X2ZsZXhfZGVzYyBpYXZmXzMyYl9yeF9mbGV4X2Rl c2MKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjcxOToyMTogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmGlhdmZfcnhfZmxleF9kZXNj4oCZCiAgNzE5IHwgICAgICB2b2xhdGls ZSB1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyAqcnhkcCkKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRl X21idWYvcnRlX21idWYuaDo0MywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IElu IGZ1bmN0aW9uIOKAmGlhdmZfZmxleF9yeGRfdG9fdmxhbl90Y2nigJk6Ci4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6NzIxOjI3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2Pi gJkKICA3MjEgfCAgaWYgKHJ0ZV9sZV90b19jcHVfNjQocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCkg JgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgzOjMwOiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfNjTigJkKICAgODMgfCAjZGVmaW5l IHJ0ZV9sZV90b19jcHVfNjQoeCkgKHgpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6NzIyOjk6IGVycm9yOiDigJhJ QVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0wyVEFHMVBfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0RFU0NfU1RBVFVT X0wyVEFHMVBfU0hJRlTigJk/CiAgNzIyIHwgICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFU VVMwX0wyVEFHMVBfUykpIHsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICBJQVZGX1JYX0RFU0NfU1RBVFVTX0wyVEFHMVBf U0hJRlQKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo3MjI6OTogbm90ZTogZWFjaCB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6Mjg6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEF0IHRv cCBsZXZlbDoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguaDo2MjoyNzogZXJyb3I6IOKA mHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVy IGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiBbLVdlcnJvcl0KICAgNjIgfCAjZGVmaW5lIGlhdmZfcnhfZmxleF9kZXNjIGlh dmZfMzJiX3J4X2ZsZXhfZGVzYwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6NzkxOjI1 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYaWF2Zl9yeF9mbGV4X2Rlc2PigJkKICA3 OTEgfCAgICAgICAgICB2b2xhdGlsZSB1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyAqcnhkcCkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDMsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3J4ZF90b19wa3RfZmll bGRz4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjc5ODozNDogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9sYXRpbGUgc3RydWN0 IGlhdmZfMzJiX3J4X2ZsZXhfZGVzY19jb21tc19vdnPigJkKICA3OTggfCAgc3RhdF9lcnIgPSBy dGVfbGVfdG9fY3B1XzE2KGRlc2MtPnN0YXR1c19lcnJvcjApOwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRl L2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAgIDgxIHwgI2RlZmluZSBydGVfbGVfdG9fY3B1 XzE2KHgpICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYv cnRlX3NwaW5sb2NrLmg6MTUsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX2Vh bC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfcndsb2NrLmg6MTMsCiAgICAgICAgICAgICAg ICAgZnJvbSAuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfZmJhcnJheS5oOjQw LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUv cnRlX21lbW9yeS5oOjI1LAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2luY2x1ZGUvcnRlX21lbXpvbmUuaDoyNywKICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTY6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4LmM6Nzk5OjMwOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9SU1Nf VkFMSURfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhJQVZGX1JYX0RFU0NfU1RBVFVTX1RTWU5WQUxJRF9TSElGVOKAmT8KICA3OTkg fCAgaWYgKGxpa2VseShzdGF0X2VyciAmICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBf UlNTX1ZBTElEX1MpKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvbGlicnRlX2VhbC9jb21t b24vaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDoyNDozOTogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhsaWtlbHnigJkKICAgMjQgfCAjZGVmaW5lIGxpa2VseSh4KSBfX2J1 aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlv biDigJhpYXZmX2ZsZXhfcnhkX2Vycm9yX3RvX3BrdF9mbGFnc+KAmToKLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzo4MjY6MzU6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFU VVMwX0wzTDRQX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19MM0w0UF9TSElGVOKAmT8KICA4MjYg fCAgaWYgKHVubGlrZWx5KCEoc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RB VFVTMF9MM0w0UF9TKSkpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICAgMzggfCAjZGVmaW5lIHVubGlrZWx5KHgp IF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4MTI6 OTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfSEJPX1PigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9E RVNDX1NUQVRVU19MQVNU4oCZPwogIDgxMiB8ICAoKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RB VFVTMF9IQk9fUykgfCBcCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGlj dGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2VseeKAmQog ICAyNCB8ICNkZWZpbmUgbGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY SUFWRl9SWF9GTEVYX0VSUjBfQklUU+KAmQogIDgyOSB8ICBpZiAobGlrZWx5KCEoc3RhdF9lcnIw ICYgSUFWRl9SWF9GTEVYX0VSUjBfQklUUykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmM6ODEzOjk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fSVBF X1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgODEzIHwgICAo MSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fSVBFX1MpIHwgXAogICAgICB8ICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2VseeKAmQogICAyNCB8ICNkZWZpbmUgbGlrZWx5 KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5 OjI3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklU U+KAmQogIDgyOSB8ICBpZiAobGlrZWx5KCEoc3RhdF9lcnIwICYgSUFWRl9SWF9GTEVYX0VSUjBf QklUUykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODE0Ojk6IGVycm9yOiDi gJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fTDRFX1PigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgODE0IHwgICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVT Q19TVEFUVVMwX1hTVU1fTDRFX1MpIHwgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0 ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmGxpa2VseeKAmQogICAyNCB8ICNkZWZpbmUgbGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3Qo ISEoeCksIDEpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3OiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KAmQogIDgyOSB8ICBpZiAobGlr ZWx5KCEoc3RhdF9lcnIwICYgSUFWRl9SWF9GTEVYX0VSUjBfQklUUykpKSB7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODE1Ojk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19T VEFUVVMwX1hTVU1fRUlQRV9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIDgxNSB8ICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0VJUEVf UykgfCBcCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlv bi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2VseeKAmQogICAy NCB8ICNkZWZpbmUgbGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6ODI5OjI3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFW Rl9SWF9GTEVYX0VSUjBfQklUU+KAmQogIDgyOSB8ICBpZiAobGlrZWx5KCEoc3RhdF9lcnIwICYg SUFWRl9SWF9GTEVYX0VSUjBfQklUUykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6ODE2Ojk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fRVVEUEVf U+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICA4MTYgfCAgICgx IDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9FVURQRV9TKSB8IFwKICAgICAgfCAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2VseeKAmQogICAyNCB8ICNkZWZpbmUgbGlr ZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6 ODI5OjI3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBf QklUU+KAmQogIDgyOSB8ICBpZiAobGlrZWx5KCEoc3RhdF9lcnIwICYgSUFWRl9SWF9GTEVYX0VS UjBfQklUUykpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODE3Ojk6IGVycm9y OiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1JYRV9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFU VVNfTEFTVOKAmT8KICA4MTcgfCAgICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfUlhF X1MpKQogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9s aWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDoyNDoz OTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhsaWtlbHnigJkKICAgMjQgfCAjZGVm aW5lIGxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eC5jOjgyOToyNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmElBVkZfUlhfRkxF WF9FUlIwX0JJVFPigJkKICA4MjkgfCAgaWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZfUlhf RkxFWF9FUlIwX0JJVFMpKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBm dW5jdGlvbiDigJhpYXZmX3JlY3ZfcGt0c19mbGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzo5OTk6MjY6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcnhk4oCZIGlz buKAmXQga25vd24KICA5OTkgfCAgdW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgcnhkOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHguYzoxMDE3OjE3OiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhfcXVldWXigJkgaGFzIG5vIG1l bWJlciBuYW1lZCDigJh2c2nigJkKIDEwMTcgfCAgcHR5cGVfdGJsID0gcnhxLT52c2ktPmFkYXB0 ZXItPnB0eXBlX3RibDsKICAgICAgfCAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzLAogICAgICAgICAgICAgICAg IGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzoxMDIxOjM5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2Pi gJkKIDEwMjEgfCAgIHJ4X3N0YXRfZXJyMCA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iuc3Rh dHVzX2Vycm9yMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9y ZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2Nw dV8xNuKAmQogICA4MSB8ICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHguYzoxMDI0OjMwOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVOKAmT8KIDEwMjQgfCAgIGlmICghKHJ4X3N0YXRfZXJy MCAmICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUykpKQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1JYX0RFU0NfU1RBVFVTX0xB U1QKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMDYzOjU6IGVycm9yOiDigJhJQVZG X1JYX0ZMWF9ERVNDX1BLVF9MRU5fTeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKIDEwNjMgfCAgICAgSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX00pIC0gcnhxLT5j cmNfbGVuOwogICAgICB8ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eC5jOjEwNzM6MzI6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVT Q19QVFlQRV9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmElBVkZfVFhfQ1RYX0RFU0NfU1dQReKAmT8KIDEwNzMgfCAgIHJ4bS0+cGFj a2V0X3R5cGUgPSBwdHlwZV90YmxbSUFWRl9SWF9GTEVYX0RFU0NfUFRZUEVfTSAmCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFWRl9UWF9DVFhfREVTQ19T V1BFCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTAxMDoxODogZXJyb3I6IHZhcmlh YmxlIOKAmHB0eXBlX3RibOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQt c2V0LXZhcmlhYmxlXQogMTAxMCB8ICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsOwogICAgICB8 ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6OTk5OjI2OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJ4ZOKAmSBbLVdlcnJvcj11bnVz ZWQtdmFyaWFibGVdCiAgOTk5IHwgIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNjIHJ4ZDsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfcmVjdl9zY2F0dGVyZWRfcGt0c19mbGV4X3J4ZOKA mToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTExOjI2OiBlcnJvcjogc3RvcmFn ZSBzaXplIG9mIOKAmHJ4ZOKAmSBpc27igJl0IGtub3duCiAxMTExIHwgIHVuaW9uIGlhdmZfcnhf ZmxleF9kZXNjIHJ4ZDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTEyNTozMzogZXJyb3I6IOKAmHN0cnVjdCBpYXZm X3J4X3F1ZXVl4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdnNp4oCZCiAxMTI1IHwgIGNvbnN0 IHVpbnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzLAogICAgICAgICAgICAgICAgIGZy b20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzoxMTI5OjM5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkK IDExMjkgfCAgIHJ4X3N0YXRfZXJyMCA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iuc3RhdHVz X2Vycm9yMCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVy Lmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8x NuKAmQogICA4MSB8ICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHgu YzoxMTMyOjMwOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElB VkZfUlhfREVTQ19TVEFUVVNfTEFTVOKAmT8KIDExMzIgfCAgIGlmICghKHJ4X3N0YXRfZXJyMCAm ICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUykpKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1JYX0RFU0NfU1RBVFVTX0xBU1QK Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTczOjU6IGVycm9yOiDigJhJQVZGX1JY X0ZMWF9ERVNDX1BLVF9MRU5fTeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKIDExNzMgfCAgICAgSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX007CiAgICAgIHwgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6MTE5OTozMDogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRU9GX1PigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCY SUFWRl9SWF9ERVNDX1NUQVRVU19FT0ZfU0hJRlTigJk/CiAxMTk5IHwgICBpZiAoIShyeF9zdGF0 X2VycjAgJiAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0VPRl9TKSkpIHsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBVkZfUlhfREVTQ19T VEFUVVNfRU9GX1NISUZUCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTIzMTozODog ZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1BUWVBFX03igJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9UWF9DVFhfREVTQ19T V1BF4oCZPwogMTIzMSB8ICAgZmlyc3Rfc2VnLT5wYWNrZXRfdHlwZSA9IHB0eXBlX3RibFtJQVZG X1JYX0ZMRVhfREVTQ19QVFlQRV9NICYKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1RYX0NUWF9ERVNDX1NXUEUKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTI1OjE4OiBlcnJvcjogdmFyaWFibGUg4oCYcHR5cGVf dGJs4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVd CiAxMTI1IHwgIGNvbnN0IHVpbnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+ cHR5cGVfdGJsOwogICAgICB8ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTExMToyNjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhy eGTigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogMTExMSB8ICB1bmlvbiBpYXZmX3J4X2Zs ZXhfZGVzYyByeGQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3J4X3NjYW5faHdf cmluZ19mbGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNDgyOjMz OiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhfcXVldWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJh2c2nigJkKIDE0ODIgfCAgY29uc3QgdWludDMyX3QgKnB0eXBlX3RibCA9IHJ4cS0+dnNpLT5h ZGFwdGVyLT5wdHlwZV90Ymw7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6 NDMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5j OjE3OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE0ODc6MzU6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlh dmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogMTQ4NyB8ICBzdGF0X2VycjAgPSBydGVfbGVfdG9fY3B1 XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjApOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4 Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2xlX3RvX2NwdV8xNuKAmQogICA4MSB8ICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAo eCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzoxNDkwOjI2OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RB VFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVOKAmT8KIDE0OTAgfCAgaWYgKCEo c3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9TKSkpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1JYX0RFU0NfU1RBVFVTX0xB U1QKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNDk3OjEyOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZ CiAxNDk3IHwgICAgICAgcnhkcCArPSBJQVZGX0xPT0tfQUhFQUQsIHJ4ZXAgKz0gSUFWRl9MT09L X0FIRUFEKSB7CiAgICAgIHwgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v bGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eC5jOjE1MDA6MzI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1 bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKIDE1MDAgfCAgICBzW2pdID0gcnRlX2xlX3Rv X2NwdV8xNihyeGRwW2pdLndiLnN0YXR1c19lcnJvcjApOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gv eDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfbGVfdG9fY3B1XzE24oCZCiAgIDgxIHwgI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgp ICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjE1MTc6MzY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKIDE1MTcgfCAgICBwa3Rf bGVuID0gKHJ0ZV9sZV90b19jcHVfMTYocnhkcFtqXS53Yi5wa3RfbGVuKSAmCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAgIDgxIHwgI2RlZmluZSBydGVf bGVfdG9fY3B1XzE2KHgpICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MTg6NTogZXJyb3I6IOKAmElBVkZf UlhfRkxYX0RFU0NfUEtUX0xFTl9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogMTUxOCB8ICAgICBJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTSkgLSByeHEtPmNy Y19sZW47CiAgICAgIHwgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUyMzozMjogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVND X1BUWVBFX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYSUFWRl9UWF9DVFhfREVTQ19TV1BF4oCZPwogMTUyMyB8ICAgIG1iLT5wYWNr ZXRfdHlwZSA9IHB0eXBlX3RibFtJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NICYKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1RYX0NUWF9ERVNDX1NX UEUKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQz LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzox NzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNTI0OjI2OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZ CiAxNTI0IHwgICAgIHJ0ZV9sZV90b19jcHVfMTYocnhkcFtqXS53Yi5wdHlwZV9mbGV4X2ZsYWdz MCldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAgIDgxIHwgI2RlZmlu ZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MjU6Mzk6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rl c2PigJkKIDE1MjUgfCAgICBpYXZmX2ZsZXhfcnhkX3RvX3ZsYW5fdGNpKG1iLCAmcnhkcFtqXSk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUyNjozNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogMTUyNiB8ICAg IGlhdmZfcnhkX3RvX3BrdF9maWVsZHMobWIsICZyeGRwW2pdKTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9s aWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHgu YzoxNTI3OjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24g aWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAxNTI3IHwgICAgc3RhdF9lcnIwID0gcnRlX2xlX3Rv X2NwdV8xNihyeGRwW2pdLndiLnN0YXR1c19lcnJvcjApOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUv YXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICAgODEgfCAjZGVmaW5lIHJ0ZV9sZV90b19jcHVf MTYoeCkgKHgpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTQ4MjoxODogZXJyb3I6IHZhcmlhYmxlIOKAmHB0eXBl X3RibOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxl XQogMTQ4MiB8ICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsID0gcnhxLT52c2ktPmFkYXB0ZXIt PnB0eXBlX3RibDsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhyeF9yZWN2X3BrdHPigJk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTczNjoyMDogZXJyb3I6IOKAmElBVkZfUlhE SURfQ09NTVNfT1ZTXzHigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAxNzM2IHwgIGlmIChyeHEtPnJ4ZGlkID09IElBVkZfUlhESURfQ09NTVNfT1ZTXzEpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9zZXRfcnhfZnVuY3Rpb27i gJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjIwNTo1OiBlcnJvcjog4oCYVklS VENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SRVFf UVVFVUVT4oCZPwogMjIwNSB8ICAgICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykK ICAgICAgfCAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAg VklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9s aWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfZGV2X3J4cV9jb3VudF9mbGV4X3J4ZOKAmToKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyMzM3OjMwOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9y eF9mbGV4X2Rlc2PigJkKIDIzMzcgfCAgICAgICAgIHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iu c3RhdHVzX2Vycm9yMCkgJgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5o OjgxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbi gJkKICAgODEgfCAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6 MjMzODoxNTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZG X1JYX0RFU0NfU1RBVFVTX0xBU1TigJk/CiAyMzM4IHwgICAgICAgICAoMSA8PCBJQVZGX1JYX0ZM RVhfREVTQ19TVEFUVVMwX0REX1MpKSB7CiAgICAgIHwgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgIElBVkZfUlhfREVTQ19T VEFUVVNfTEFTVAouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjIzNDQ6ODogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhf ZGVzY+KAmQogMjM0NCB8ICAgcnhkcCArPSBJQVZGX1JYUV9TQ0FOX0lOVEVSVkFMOwogICAgICB8 ICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDi gJhpYXZmX2Rldl9yeHFfY291bnTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6 MjM2NjoyMDogZXJyb3I6IOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAyMzY2IHwgIGlmIChyeHEtPnJ4ZGlkID09IElB VkZfUlhESURfQ09NTVNfT1ZTXzEpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9y dGVfbWJ1Zi5oOjQzLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rp b24g4oCYaWF2Zl9kZXZfcnhfZGVzY19zdGF0dXNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6MjQwNToyNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj 4oCZCiAyNDA1IHwgIGlmIChydGVfbGVfdG9fY3B1XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjAp ICYKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAgIDgxIHwgI2RlZmlu ZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjI0MDY6OTogZXJyb3I6IOKA mElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0RFU0NfU1RBVFVTX0xB U1TigJk/CiAyNDA2IHwgICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MpKQog ICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAg ICAgICBJQVZGX1JYX0RFU0NfU1RBVFVTX0xBU1QKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHguYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9kZXZfcnhfZGVzY19zdGF0dXPigJk6Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjQyMDoyMDogZXJyb3I6IOKAmElBVkZfUlhESURfQ09N TVNfT1ZTXzHigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAyNDIw IHwgIGlmIChyeHEtPnJ4ZGlkID09IElBVkZfUlhESURfQ09NTVNfT1ZTXzEpCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3Mg YmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzk5Mi8yMjQ4XSBHZW5lcmF0aW5nIHJ0ZV9wbWRfaGlu aWMuZXhwX2NoayB3aXRoIGEgbWVzb25fZXhlLnB5IGN1c3RvbSBjb21tYW5kLgpbOTkzLzIyNDhd IENvbXBpbGluZyBDIG9iamVjdCAnYXBwL3Rlc3QvMzA2MmY1ZEBAZHBkay10ZXN0QGV4ZS90ZXN0 X2NyeXB0b2Rldl9zZWN1cml0eV9wZGNwLmMubycuCls5OTQvMjI0OF0gQ29tcGlsaW5nIEMgb2Jq ZWN0ICdhcHAvdGVzdC8zMDYyZjVkQEBkcGRrLXRlc3RAZXhlL3Rlc3RfY3J5cHRvZGV2X2FzeW0u Yy5vJy4KWzk5NS8yMjQ4XSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1w X3J0ZV9wbWRfaG5zM0BzdGEvbmV0X2huczNfaG5zM19yeHR4LmMubycuCls5OTYvMjI0OF0gQ29t cGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2k0MGVAc3RhL25l dF9pNDBlX2k0MGVfZXRoZGV2LmMubycuCls5OTcvMjI0OF0gQ29tcGlsaW5nIEMgb2JqZWN0ICdh cHAvdGVzdC8zMDYyZjVkQEBkcGRrLXRlc3RAZXhlL3Rlc3RfY3J5cHRvZGV2X2Jsb2NrY2lwaGVy LmMubycuCls5OTgvMjI0OF0gQ29tcGlsaW5nIEMgb2JqZWN0ICdhcHAvdGVzdC8zMDYyZjVkQEBk cGRrLXRlc3RAZXhlL3Rlc3RfY3J5cHRvZGV2LmMubycuCm5pbmphOiBidWlsZCBzdG9wcGVkOiBz dWJjb21tYW5kIGZhaWxlZAoKCgoKKk1lc29uIEJ1aWxkIEZhaWxlZCAjMzoKT1M6IENFTlRPUzc3 LTY0ClRhcmdldDouL2J1aWxkLWdjYy1zdGF0aWMKRkFJTEVEOiBkcml2ZXJzL2E3MTUxODFAQHRt cF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRoZGV2LmMubyAKZ2NjIC1JZHJpdmVy cy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1J ZHJpdmVycy9uZXQvaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9pYXZm Ly4uLy4uL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2 ZiAtSWxpYi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4vIC1J Y29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9s aWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2Vh bC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29t bW9uIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUkuLi9saWIvbGli cnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGli L2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1J bGliL2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4u L2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVt cG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVf bWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVy cy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUku Li9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2 IC1JZHJpdmVycy9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLXBpcGUgLURf RklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1p bmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zv cm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMg LVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0 aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1X dW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURf R05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0Nf QVZYMl9TVVBQT1JUIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3 MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRoZGV2LmMubycgLU1G ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRo ZGV2LmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRf aWF2Zl9pYXZmX2V0aGRldi5jLm8nIC1jIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYu YwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5j OjI4OjA6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkIOKA mHBrZ19pbmZv4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgdmlydGNobmxfcGtnX2lu Zm8gcGtnX2luZm87IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaWF2 Zl9pbml0X3Zm4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0MDozMzog ZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09GRkxPQURfUVVFUllfRERQ4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh2Zi0+dmZfcmVzLT52Zl9jYXBfZmxhZ3Mg JiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1FVRVJZX0REUCkgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzoxMjQwOjMzOiBu b3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRo ZGV2LmM6MTI0NzozMzogZXJyb3I6IOKAmFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVND 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh2Zi0+dmZf cmVzLT52Zl9jYXBfZmxhZ3MgJiBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQykgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCls5ODgvMjIzOV0gQ29tcGlsaW5nIEMg b2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2huczNAc3RhL25ldF9obnMzX2hu czNfbXAuYy5vJy4KWzk4OS8yMjM5XSBDb21waWxpbmcgQyBvYmplY3QgJ2FwcC90ZXN0LzMwNjJm NWRAQGRwZGstdGVzdEBleGUvdGVzdF9kaXN0cmlidXRvcl9wZXJmLmMubycuCls5OTAvMjIzOV0g Q29tcGlsaW5nIEMgb2JqZWN0ICdhcHAvdGVzdC8zMDYyZjVkQEBkcGRrLXRlc3RAZXhlL3Rlc3Rf ZWZkLmMubycuCls5OTEvMjIzOV0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFA QHRtcF9ydGVfcG1kX2hpbmljQHN0YS9uZXRfaGluaWNfaGluaWNfcG1kX3R4LmMubycuCls5OTIv MjIzOV0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lh dmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfc3NlLmMubycuCkZBSUxFRDogZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHhfdmVjX3NzZS5j Lm8gCmdjYyAtSWRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEgLUlkcml2ZXJz IC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvbmV0L2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmIC1J ZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYv Li4vLi4vY29tbW9uL2lhdmYgLUlsaWIvbGlicnRlX2V0aGRldiAtSS4uL2xpYi9saWJydGVfZXRo ZGV2IC1JLiAtSS4uLyAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGli cnRlX2VhbC9saW51eC9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xp Yi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gv eDg2IC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUlsaWIvbGli cnRlX2VhbCAtSS4uL2xpYi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIv bGlicnRlX2t2YXJncyAtSWxpYi9saWJydGVfbmV0IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUlsaWIv bGlicnRlX21idWYgLUkuLi9saWIvbGlicnRlX21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wgLUku Li9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRlX3Jp bmcgLUlsaWIvbGlicnRlX21ldGVyIC1JLi4vbGliL2xpYnJ0ZV9tZXRlciAtSWRyaXZlcnMvYnVz L3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9saW51eCAtSWxp Yi9saWJydGVfcGNpIC1JLi4vbGliL2xpYnJ0ZV9wY2kgLUlkcml2ZXJzL2J1cy92ZGV2IC1JLi4v ZHJpdmVycy9idXMvdmRldiAtSWRyaXZlcnMvY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL2NvbW1v bi9pYXZmIC1waXBlIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAt V2Vycm9yIC1PMiAtZyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdleHRyYSAtV2Nhc3QtcXVhbCAt V2RlcHJlY2F0ZWQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3Np bmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdv bGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJp Y3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLW1pc3NpbmctZmllbGQt aW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtV25vLXN0cmlj dC1hbGlhc2luZyAtRENDX0FWWDJfU1VQUE9SVCAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLU1E IC1NUSAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZm X3J4dHhfdmVjX3NzZS5jLm8nIC1NRiAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZm QHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHhfdmVjX3NzZS5jLm8uZCcgLW8gJ2RyaXZlcnMvYTcxNTE4 MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vJyAt YyAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmMKSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo5OjA6Ci4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkIOKAmHBrZ19pbmZv4oCZ IGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87 IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzogSW4gZnVuY3Rpb24g4oCYZmxleF9kZXNj X3RvX29sZmxhZ3NfduKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5j OjI4OTo5OiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhfcXVldWXigJkgaGFzIG5vIG1lbWJlciBu YW1lZCDigJh2c2nigJkKICBpZiAocnhxLT52c2ktPmFkYXB0ZXItPmZkaXJfZW5hYmxlZCkgewog ICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzogSW4gZnVu Y3Rpb24g4oCYZmxleF9kZXNjX3RvX3B0eXBlX3bigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4X3ZlY19zc2UuYzozODA6NDY6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19QVFlQ RV9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNvbnN0IF9f bTEyOGkgcHR5cGVfbWFzayA9IF9tbV9zZXRfZXBpMTYoMCwgSUFWRl9SWF9GTEVYX0RFU0NfUFRZ UEVfTSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjM4MDo0Njogbm90ZTogZWFjaCB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5j OiBJbiBmdW5jdGlvbiDigJhfcmVjdl9yYXdfcGt0c192ZWNfZmxleF9yeGTigJk6Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo2NTg6MzM6IGVycm9yOiDigJhzdHJ1Y3Qg aWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogIGNvbnN0IHVp bnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6MTA6MDoKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguaDo2MjoyNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogI2RlZmluZSBpYXZmX3J4X2ZsZXhf ZGVzYyBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzEzOjE2OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYaWF2Zl9yeF9mbGV4X2Rlc2PigJkKICByeGRwID0gKHVuaW9u IGlhdmZfcnhfZmxleF9kZXNjICopcnhxLT5yeF9yaW5nICsgcnhxLT5yeF90YWlsOwogICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzI2OjEy OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmICgh KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjAgJgogICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQg ZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAgICAgICAg IGZyb20gLi4vbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6MjMsCiAgICAgICAgICAgICAgICAg ZnJvbSAuLi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2Lmg6MTU5LAogICAgICAgICAgICAg ICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaDoxOCwKICAg ICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2Uu Yzo2OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzI3OjMwOiBlcnJv cjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIHJ0ZV9jcHVfdG9fbGVfMzIoMSA8PCBJQVZG X1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9y ZGVyLmg6NzQ6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo3 NTk6NzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZf MzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAgcnhkcCArPSBJQVZGX1ZQTURfREVTQ1NfUEVSX0xP T1ApIHsKICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjc3 MzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8z MmJfcnhfZmxleF9kZXNj4oCZCiAgIGRlc2NzWzNdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhp ICopKHJ4ZHAgKyAzKSk7CiAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3Nz ZS5jOjc4NDozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24g aWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIGRlc2NzWzJdID0gX21tX2xvYWR1X3NpMTI4KChf X20xMjhpICopKHJ4ZHAgKyAyKSk7CiAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX3NzZS5jOjc4NzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY dW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIGRlc2NzWzFdID0gX21tX2xvYWR1X3Np MTI4KChfX20xMjhpICopKHJ4ZHAgKyAxKSk7CiAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHhfdmVjX3NzZS5jOjgzMzoxMDogZXJyb3I6IOKAmHN0cnVjdCBpYXZmX3J4X3F1ZXVl4oCZ IGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdnNp4oCZCiAgIGlmIChyeHEtPnZzaS0+YWRhcHRlci0+ ZXRoX2Rldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzICYKICAgICAgICAgIF4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjgzODo2OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZ CiAgICAgICgodm9pZCAqKSgmcnhkcFszXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgIF4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjgzODoyMTogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgKCh2b2lkICopKCZyeGRw WzNdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODQyOjY6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgICAg KCh2b2lkICopKCZyeGRwWzJdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgXgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODQyOjIxOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAoKHZvaWQgKikoJnJ4ZHBbMl0ud2Iu c3RhdHVzX2Vycm9yMSkpOwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo4NDY6NjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQg KikoJnJ4ZHBbMV0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo4NDY6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICgodm9pZCAqKSgmcnhkcFsxXS53Yi5zdGF0dXNf ZXJyb3IxKSk7CiAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHhfdmVjX3NzZS5jOjg1MDo2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICAgICgodm9pZCAqKSgmcnhk cFswXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHhfdmVjX3NzZS5jOjg1MDoyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgKCh2b2lkICopKCZyeGRwWzBdLndiLnN0YXR1c19lcnJvcjEp KTsKICAgICAgICAgICAgICAgICAgICAgXgpbOTkzLzIyMzldIENvbXBpbGluZyBDIG9iamVjdCAn ZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3ZjaG5s LmMubycuCkZBSUxFRDogZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRf aWF2Zl9pYXZmX3ZjaG5sLmMubyAKZ2NjIC1JZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9p YXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9uZXQvaWF2ZiAtSS4uL2Ry aXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JLi4v ZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSWxpYi9saWJydGVfZXRoZGV2IC1J Li4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4vIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9l YWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2luY2x1ZGUvYXJjaC94ODYgLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9h cmNoL3g4NiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRl X2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9uZXQgLUkuLi9saWIv bGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9s aWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAt SS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfbWV0ZXIgLUkuLi9saWIvbGlicnRlX21l dGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9i dXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZl cnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JZHJpdmVycy9jb21tb24vaWF2ZiAt SS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2Fs bCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4 dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0 LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdu ZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3Np Z24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1X bm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9 bmF0aXZlIC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQT1JUIC1EQUxMT1dfRVhQ RVJJTUVOVEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZA c3RhL25ldF9pYXZmX2lhdmZfdmNobmwuYy5vJyAtTUYgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0 ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5jLm8uZCcgLW8gJ2RyaXZlcnMvYTcx NTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5jLm8nIC1jIC4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzoyMjowOgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCDigJhwa2dfaW5mb+KAmSBoYXMgaW5jb21wbGV0ZSB0 eXBlCiAgc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZvIHBrZ19pbmZvOyAvKiBwYWNrYWdlIGluZm8g Ki8KICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf dmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9leGVjdXRlX3ZmX2NtZOKAmToKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6OTE6NzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1BBQ0tB R0VfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNl IFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GTzoKICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3ZjaG5sLmM6OTE6Nzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVw b3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6OTI6NzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1JYRElE 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNhc2UgVklSVENI TkxfT1BfUlhESUQ6CiAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOiBJ biBmdW5jdGlvbiDigJhpYXZmX2dldF92Zl9yZXNvdXJjZeKAmToKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3ZjaG5sLmM6MzQ0OjM6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1FVRVJZ X0REUOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgVklSVENI TkxfVkZfT0ZGTE9BRF9RVUVSWV9ERFAgfAogICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92 Y2hubC5jOjM0NTozOiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0Pi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIFZJUlRDSE5MX1ZG X09GRkxPQURfUlhfRkxFWF9ERVNDOwogICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hu bC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2dldF9zdXBwb3J0ZWRfcnhkaWTigJk6Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjM4OToxMzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1JY RElE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGFyZ3Mub3Bz ID0gVklSVENITkxfT1BfUlhESUQ7CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl92Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2NvbmZpZ3VyZV9xdWV1ZXPigJk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYwMTo4OiBlcnJvcjog4oCYVklSVENITkxf VkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MgJiYKICAg ICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2Nv bW1vbi9pYXZmL2lhdmZfcHJvdG90eXBlLmg6ODowLAogICAgICAgICAgICAgICAgIGZyb20gLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjIyOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNo bmwuYzo2MDI6MzQ6IGVycm9yOiDigJhJQVZGX1JYRElEX0NPTU1TX09WU18x4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIHZmLT5zdXBwb3J0ZWRfcnhk aWQgJiBCSVQoSUFWRl9SWERJRF9DT01NU19PVlNfMSkpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2Zi9pYXZm X3R5cGUuaDoyMzoyNTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhCSVTigJkKICNk ZWZpbmUgQklUKGEpICgxVUwgPDwgKGEpKQogICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2MDM6MTU6IGVycm9yOiDigJhzdHJ1Y3Qgdmly dGNobmxfcnhxX2luZm/igJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhyeGRpZOKAmQogICAgIHZj X3FwLT5yeHEucnhkaWQgPSBJQVZGX1JYRElEX0NPTU1TX09WU18xOwogICAgICAgICAgICAgICBe CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMzowLAog ICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MjI6 Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYwNjozMzogZXJyb3I6IOKAmHN0cnVj dCB2aXJ0Y2hubF9yeHFfaW5mb+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHJ4ZGlk4oCZCiAg ICAgICAgICAiUXVldWVbJWRdIiwgdmNfcXAtPnJ4cS5yeGRpZCwgaSk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2xvZy5oOjE3OjE2 OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmFBNRF9EUlZfTE9HX1JBV+KAmQogICBf X2Z1bmNfXywgIyMgYXJncykKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3ZjaG5sLmM6NjA1OjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhQTURfRFJW X0xPR+KAmQogICAgIFBNRF9EUlZfTE9HKE5PVElDRSwgInJlcXVlc3QgUlhESUQgPT0gJWQgaW4g IgogICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjA4OjE1OiBlcnJvcjog 4oCYc3RydWN0IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcnhk aWTigJkKICAgICB2Y19xcC0+cnhxLnJ4ZGlkID0gSUFWRl9SWERJRF9MRUdBQ1lfMTsKICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2MDg6MjQ6IGVycm9y OiDigJhJQVZGX1JYRElEX0xFR0FDWV8x4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgIHZjX3FwLT5yeHEucnhkaWQgPSBJQVZGX1JYRElEX0xFR0FDWV8xOwog ICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJz L25ldC9pYXZmL2lhdmYuaDoxMzowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MjI6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5j OjYxMTozMzogZXJyb3I6IOKAmHN0cnVjdCB2aXJ0Y2hubF9yeHFfaW5mb+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHJ4ZGlk4oCZCiAgICAgICAgICAiUXVldWVbJWRdIiwgdmNfcXAtPnJ4cS5y eGRpZCwgaSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX2xvZy5oOjE3OjE2OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mFBNRF9EUlZfTE9HX1JBV+KAmQogICBfX2Z1bmNfXywgIyMgYXJncykKICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjEwOjU6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybyDigJhQTURfRFJWX0xPR+KAmQogICAgIFBNRF9EUlZfTE9HKE5PVElDRSwg InJlcXVlc3QgUlhESUQgPT0gJWQgaW4gIgogICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3ZjaG5sLmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfcXVlcnlfcGFja2FnZV9pbmZv4oCZOgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2Mzk6MTM6IGVycm9yOiDigJhWSVJUQ0hOTF9P UF9QQUNLQUdFX0lORk/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgYXJncy5vcHMgPSBWSVJUQ0hOTF9PUF9QQUNLQUdFX0lORk87CiAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjY1MzoxMzogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qgdmly dGNobmxfcGtnX2luZm/igJkKICAgICAgc2l6ZW9mKHN0cnVjdCB2aXJ0Y2hubF9wa2dfaW5mbykp OwogICAgICAgICAgICAgXgpbOTk0LzIyMzldIENvbXBpbGluZyBDIG9iamVjdCAnZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pNDBlQHN0YS9uZXRfaTQwZV9pNDBlX2V0aGRldi5jLm8nLgpb OTk1LzIyMzldIENvbXBpbGluZyBDIG9iamVjdCAnYXBwL3Rlc3QvMzA2MmY1ZEBAZHBkay10ZXN0 QGV4ZS90ZXN0X2VhbF9mbGFncy5jLm8nLgpbOTk2LzIyMzldIENvbXBpbGluZyBDIG9iamVjdCAn YXBwL3Rlc3QvMzA2MmY1ZEBAZHBkay10ZXN0QGV4ZS90ZXN0X2NyeXB0b2Rldi5jLm8nLgpuaW5q YTogYnVpbGQgc3RvcHBlZDogc3ViY29tbWFuZCBmYWlsZWQKCgoKCipNZXNvbiBCdWlsZCBGYWls ZWQgIzQ6Ck9TOiBVQjE4MDQtNjQKVGFyZ2V0Oi4vYnVpbGQtZ2NjLXN0YXRpYwpGQUlMRUQ6IGRy aXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3Zl Y19zc2UuYy5vIApnY2MgLUlkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1J ZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQv aWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25l dC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGli cnRlX2V0aGRldiAtSS4gLUkuLi8gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2Vh bC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4v bGliL2xpYnJ0ZV9lYWwvbGludXgvZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24g LUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVk ZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1J bGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1J Li4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX25ldCAtSS4uL2xpYi9saWJydGVfbmV0 IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1w b29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xp YnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xpYi9saWJydGVfbWV0ZXIgLUlkcml2 ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGlu dXggLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRl diAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVy cy9jb21tb24vaWF2ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09G RlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUg cnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5v bmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3Np bmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdw b2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAt V3dyaXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09V UkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLW1uby1hdng1MTJmIC1Xbm8tZm9ybWF0LXRydW5jYXRp b24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19FWFBFUklN RU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEv bmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vJyAtTUYgJ2RyaXZlcnMvYTcxNTE4MUBAdG1w X3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vLmQnIC1vICdk cml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92 ZWNfc3NlLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jCklu IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3Nl LmM6OTowOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCDi gJhwa2dfaW5mb+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHZpcnRjaG5sX3BrZ19p bmZvIHBrZ19pbmZvOyAvKiBwYWNrYWdlIGluZm8gKi8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOiBJbiBm dW5jdGlvbiDigJhmbGV4X2Rlc2NfdG9fb2xmbGFnc1924oCZOgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfc3NlLmM6Mjg5Ojk6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1 ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogIGlmIChyeHEtPnZzaS0+YWRhcHRl ci0+ZmRpcl9lbmFibGVkKSB7CiAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4X3ZlY19zc2UuYzogSW4gZnVuY3Rpb24g4oCYZmxleF9kZXNjX3RvX3B0eXBlX3bigJk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzozODA6NDY6IGVycm9yOiDigJhJ QVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfVFhfQ1RYX0RFU0NfU1dQReKAmT8KICBj b25zdCBfX20xMjhpIHB0eXBlX21hc2sgPSBfbW1fc2V0X2VwaTE2KDAsIElBVkZfUlhfRkxFWF9E RVNDX1BUWVBFX00sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJQVZGX1RYX0NUWF9ERVNDX1NXUEUKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjM4MDo0Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMg aW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOiBJbiBmdW5jdGlvbiDi gJhfcmVjdl9yYXdfcGt0c192ZWNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4X3ZlY19zc2UuYzo2NTg6MzM6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogIGNvbnN0IHVpbnQzMl90ICpwdHlwZV90 YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzEz OjQ5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8z MmJfcnhfZmxleF9kZXNj4oCZCiAgcnhkcCA9ICh1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyAqKXJ4 cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFpbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3Nz ZS5jOjcyNjoxMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYdm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgaWYgKCEocnhk cC0+d2Iuc3RhdHVzX2Vycm9yMCAmCiAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAgICAgICAgIGZy b20gLi4vbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6MjMsCiAgICAgICAgICAgICAgICAgZnJv bSAuLi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2Lmg6MTU5LAogICAgICAgICAgICAgICAg IGZyb20gLi4vbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaDoxOCwKICAgICAg ICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo2 OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzI3OjMwOiBlcnJvcjog 4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNf TEFTVOKAmT8KICAgICAgICBydGVfY3B1X3RvX2xlXzMyKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0Nf U1RBVFVTMF9ERF9TKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjc0OjMwOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZp bmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzU5OjEyOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgICAgICByeGRwICs9IElBVkZfVlBNRF9ERVNDU19QRVJfTE9PUCkgewogICAgICAg ICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzczOjQ3OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhf ZmxleF9kZXNj4oCZCiAgIGRlc2NzWzNdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhpICopKHJ4 ZHAgKyAzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6Nzg0OjQ3OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgIGRlc2NzWzJdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhpICopKHJ4ZHAgKyAy KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6Nzg3OjQ3OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZ CiAgIGRlc2NzWzFdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhpICopKHJ4ZHAgKyAxKSk7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODMzOjEwOiBlcnJvcjog4oCYc3RydWN0IGlh dmZfcnhfcXVldWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh2c2nigJkKICAgaWYgKHJ4cS0+ dnNpLT5hZGFwdGVyLT5ldGhfZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgJgog ICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjgzODoy MTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJi X3J4X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBbM10ud2Iuc3RhdHVzX2Vycm9y MSkpOwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 X3ZlY19zc2UuYzo4NDI6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgICAgKCh2b2lkICopKCZyeGRwWzJd LndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODQ2OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICAgICgo dm9pZCAqKSgmcnhkcFsxXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjg1MDoyMTogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhf ZGVzY+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBbMF0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAg ICAgICAgICAgICAgICAgICBeClsxMDA2LzIxNjFdIENvbXBpbGluZyBDIG9iamVjdCAnYXBwL3Rl c3QvMzA2MmY1ZEBAZHBkay10ZXN0QGV4ZS90ZXN0X3RpbWVyX3NlY29uZGFyeS5jLm8nLgpbMTAw Ny8yMTYxXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRf aWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19hdngyLmMubycuCkZBSUxFRDogZHJpdmVy cy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHhfdmVjX2F2 eDIuYy5vIApnY2MgLUlkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJp dmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2 ZiAtSWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25ldC9p YXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRl X2V0aGRldiAtSS4gLUkuLi8gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9j b21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGli L2xpYnJ0ZV9lYWwvbGludXgvZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUku Li9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9h cmNoL3g4NiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JbGli L2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4v bGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX25ldCAtSS4uL2xpYi9saWJydGVfbmV0IC1J bGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29s IC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0 ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xpYi9saWJydGVfbWV0ZXIgLUlkcml2ZXJz L2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXgg LUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAt SS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9j b21tb24vaWF2ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNF VF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRl X2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxp dGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3Npbmct cHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2lu dGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dy aXRlLXN0cmluZ3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNF IC1mUElDIC1tYXJjaD1uYXRpdmUgLW1uby1hdng1MTJmIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24g LVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19FWFBFUklNRU5U QUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0 X2lhdmZfaWF2Zl9yeHR4X3ZlY19hdngyLmMubycgLU1GICdkcml2ZXJzL2E3MTUxODFAQHRtcF9y dGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfYXZ4Mi5jLm8uZCcgLW8gJ2Ry aXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3Zl Y19hdngyLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYwpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2Nv bW1vbi5oOjExOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eF92ZWNfYXZ4Mi5jOjU6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzog ZXJyb3I6IGZpZWxkIOKAmHBrZ19pbmZv4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3Qg dmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92 ZWNfYXZ4Mi5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3J4cV9yZWFybeKAmToKLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzoyMDoyMDogZXJyb3I6IOKAmElBVkZfUlhESURf Q09NTVNfT1ZTXzHigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg aWYgKHJ4cS0+cnhkaWQgPT0gSUFWRl9SWERJRF9DT01NU19PVlNfMSkgewogICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX2F2eDIuYzoyMDoyMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzogSW4gZnVuY3Rpb24g4oCYX2lhdmZf cmVjdl9yYXdfcGt0c192ZWNfYXZ4Ml9mbGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHhfdmVjX2F2eDIuYzo1OTY6MzQ6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1 ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogIGNvbnN0IHVpbnQzMl90ICp0eXBl X3RhYmxlID0gcnhxLT52c2ktPmFkYXB0ZXItPnB0eXBlX3RibDsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngy LmM6NjAyOjQzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24g aWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICh1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyAqKXJ4 cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFpbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo2 MTk6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKA mHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogIGlmICghKHJ4ZHAtPndi LnN0YXR1c19lcnJvcjAgJgogICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v bGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2xpYi9saWJydGVfbmV0L3J0ZV9ldGhlci5oOjIzLAogICAgICAgICAgICAgICAgIGZyb20gLi4v bGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5oOjE1OSwKICAgICAgICAgICAgICAgICBmcm9t IC4uL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXZfZHJpdmVyLmg6MTgsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfY29tbW9uLmg6OCwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19h dngyLmM6NToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo2MjA6MjY6 IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9ERVND X1NUQVRVU19MQVNU4oCZPwogICAgcnRlX2NwdV90b19sZV8zMigxIDw8IElBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfRERfUykpKQogICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjc0OjMwOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZp bmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjY0NTo0OiBlcnJvcjog 4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9FT0ZfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0ZMRVhfREVTQ19T VEFUVVMwX0REX1PigJk/CiAgICBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0VPRl9TKTsKICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgIElBVkZfUlhfRkxFWF9ERVNDX1NU QVRVUzBfRERfUwouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc1Mjox MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJi X3J4X2ZsZXhfZGVzY+KAmQogICAgICAgcnhkcCArPSBJQVZGX0RFU0NTX1BFUl9MT09QX0FWWCkg ewogICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5j Ojc2NTozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlh dmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCAr IDcpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc2ODozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xv YWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDYpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc3MTozMzog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4 X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDUpKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eF92ZWNfYXZ4Mi5jOjc3NDozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgo KHZvaWQgKikocnhkcCArIDQpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc3NzozMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz Y+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDMpKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNf YXZ4Mi5jOjc4MDozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVu aW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKiko cnhkcCArIDIpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc4MzozMzogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAg X21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDEpKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc4 NjozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZf MzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDAp KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjgyNjoyMjogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVND X1BUWVBFX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQg eW91IG1lYW4g4oCYSUFWRl9UWF9DVFhfREVTQ19TV1BF4oCZPwogICAgX21tMjU2X3NldDFfZXBp MTYoSUFWRl9SWF9GTEVYX0RFU0NfUFRZUEVfTSk7CiAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICBJQVZGX1RYX0NUWF9E RVNDX1NXUEUKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5MDY6MTA6 IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKA mHZzaeKAmQogICBpZiAocnhxLT52c2ktPmFkYXB0ZXItPmZkaXJfZW5hYmxlZCkgewogICAgICAg ICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5NjI6MTA6IGVy cm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZz aeKAmQogICBpZiAocnhxLT52c2ktPmFkYXB0ZXItPmV0aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4 bW9kZS5vZmZsb2FkcyAmCiAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eF92ZWNfYXZ4Mi5jOjk2NzoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBb N10ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6OTcxOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICAg ICgodm9pZCAqKSgmcnhkcFs2XS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5NzU6MjE6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9m bGV4X2Rlc2PigJkKICAgICAgKCh2b2lkICopKCZyeGRwWzVdLndiLnN0YXR1c19lcnJvcjEpKTsK ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNf YXZ4Mi5jOjk3OToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVu aW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBbNF0ud2Iu c3RhdHVzX2Vycm9yMSkpOwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6OTgzOjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICAgICgodm9p ZCAqKSgmcnhkcFszXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5ODc6MjE6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rl c2PigJkKICAgICAgKCh2b2lkICopKCZyeGRwWzJdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5j Ojk5MToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlh dmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBbMV0ud2Iuc3RhdHVz X2Vycm9yMSkpOwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4X3ZlY19hdngyLmM6OTk1OjIxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICAgICgodm9pZCAqKSgm cnhkcFswXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgICAgICAgICAgICAgICAgIF4KWzEwMDgv MjE2MV0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lh dmZAc3RhL25ldF9pYXZmX2lhdmZfdmNobmwuYy5vJy4KRkFJTEVEOiBkcml2ZXJzL2E3MTUxODFA QHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfdmNobmwuYy5vIApnY2MgLUlkcml2 ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMg LUlkcml2ZXJzL25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lh dmYvLi4vLi4vY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9p YXZmIC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8g LUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgv ZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9j b21tb24gLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9s aWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3Mg LUlsaWIvbGlicnRlX25ldCAtSS4uL2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1J Li4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9t ZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0 ZV9tZXRlciAtSS4uL2xpYi9saWJydGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2 ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvbGlicnRlX3BjaSAt SS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3Zk ZXYgLUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdu b3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1X aW52YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEg LVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2Vj dXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3Rl ZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1j b21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1t aXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRp dmUgLW1uby1hdng1MTJmIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNp bmcgLURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2Ry aXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5j Lm8nIC1NRiAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9p YXZmX3ZjaG5sLmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0 YS9uZXRfaWF2Zl9pYXZmX3ZjaG5sLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3Zj aG5sLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hu bC5jOjIyOjA6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxk IOKAmHBrZ19pbmZv4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgdmlydGNobmxfcGtn X2luZm8gcGtnX2luZm87IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rp b24g4oCYaWF2Zl9leGVjdXRlX3ZmX2NtZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3Zj aG5sLmM6OTE6NzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GT+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hO TF9PUF9FVkVOVOKAmT8KICBjYXNlIFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GTzoKICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgVklSVENITkxfT1BfRVZFTlQKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6OTE6Nzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMg aW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6OTI6NzogZXJyb3I6IOKAmFZJUlRD SE5MX09QX1JYRElE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmFZJUlRDSE5MX09QX1JTVkTigJk/CiAgY2FzZSBWSVJUQ0hOTF9PUF9S WERJRDoKICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICBWSVJUQ0hOTF9PUF9SU1ZECi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2dldF92 Zl9yZXNvdXJjZeKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MzQ0OjM6IGVy cm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1FVRVJZX0REUOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9WRl9PRkZM T0FEX1JTVkTigJk/CiAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUVVFUllfRERQIHwKICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgVklSVENITkxfVkZfT0ZGTE9BRF9SU1ZECi4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjM0NTozOiBlcnJvcjog4oCYVklSVENITkxfVkZf T0ZGTE9BRF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVT4oCZ PwogICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQzsKICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTCi4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2dldF9zdXBw b3J0ZWRfcnhkaWTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjM4OToxMzog ZXJyb3I6IOKAmFZJUlRDSE5MX09QX1JYRElE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFZJUlRDSE5MX09QX1JTVkTigJk/CiAgYXJn cy5vcHMgPSBWSVJUQ0hOTF9PUF9SWERJRDsKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgICAgICAgICBWSVJUQ0hOTF9PUF9SU1ZECi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92 Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2NvbmZpZ3VyZV9xdWV1ZXPigJk6Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYwMTo4OiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZG TE9BRF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVT4oCZPwog ICAgICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDICYmCiAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JF UV9RVUVVRVMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvLi4vLi4v Y29tbW9uL2lhdmYvaWF2Zl9wcm90b3R5cGUuaDo4OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu Li9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MjI6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92 Y2hubC5jOjYwMjozNDogZXJyb3I6IOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgdmYtPnN1cHBvcnRlZF9y eGRpZCAmIEJJVChJQVZGX1JYRElEX0NPTU1TX09WU18xKSkgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmL2lh dmZfdHlwZS5oOjIzOjI1OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmEJJVOKAmQog I2RlZmluZSBCSVQoYSkgKDFVTCA8PCAoYSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYwMzoxNTogZXJyb3I6IOKAmHN0cnVjdCB2 aXJ0Y2hubF9yeHFfaW5mb+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHJ4ZGlk4oCZCiAgICAg dmNfcXAtPnJ4cS5yeGRpZCA9IElBVkZfUlhESURfQ09NTVNfT1ZTXzE7CiAgICAgICAgICAgICAg IF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjEzOjAs CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzoy MjoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjA2OjMzOiBlcnJvcjog4oCYc3Ry dWN0IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcnhkaWTigJkK ICAgICAgICAgICJRdWV1ZVslZF0iLCB2Y19xcC0+cnhxLnJ4ZGlkLCBpKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfbG9nLmg6MTc6 MTY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYUE1EX0RSVl9MT0dfUkFX4oCZCiAg IF9fZnVuY19fLCAjIyBhcmdzKQogICAgICAgICAgICAgICAgXn5+fgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfdmNobmwuYzo2MDU6NTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFBN RF9EUlZfTE9H4oCZCiAgICAgUE1EX0RSVl9MT0coTk9USUNFLCAicmVxdWVzdCBSWERJRCA9PSAl ZCBpbiAiCiAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6 NjA4OjE1OiBlcnJvcjog4oCYc3RydWN0IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1i ZXIgbmFtZWQg4oCYcnhkaWTigJkKICAgICB2Y19xcC0+cnhxLnJ4ZGlkID0gSUFWRl9SWERJRF9M RUdBQ1lfMTsKICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwu Yzo2MDg6MjQ6IGVycm9yOiDigJhJQVZGX1JYRElEX0xFR0FDWV8x4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhESURfQ09N TVNfT1ZTXzHigJk/CiAgICAgdmNfcXAtPnJ4cS5yeGRpZCA9IElBVkZfUlhESURfTEVHQUNZXzE7 CiAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAg ICAgICAgICAgICAgSUFWRl9SWERJRF9DT01NU19PVlNfMQpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmLmg6MTM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjIyOgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfdmNobmwuYzo2MTE6MzM6IGVycm9yOiDigJhzdHJ1Y3QgdmlydGNobmxfcnhxX2luZm/igJkg aGFzIG5vIG1lbWJlciBuYW1lZCDigJhyeGRpZOKAmQogICAgICAgICAgIlF1ZXVlWyVkXSIsIHZj X3FwLT5yeHEucnhkaWQsIGkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9sb2cuaDoxNzoxNjogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhQTURfRFJWX0xPR19SQVfigJkKICAgX19mdW5jX18sICMjIGFyZ3MpCiAgICAg ICAgICAgICAgICBefn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYxMDo1OiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUE1EX0RSVl9MT0figJkKICAgICBQTURfRFJW X0xPRyhOT1RJQ0UsICJyZXF1ZXN0IFJYRElEID09ICVkIGluICIKICAgICBefn5+fn5+fn5+fgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9xdWVy eV9wYWNrYWdlX2luZm/igJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYzOTox MzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9PUF9FVkVO VOKAmT8KICBhcmdzLm9wcyA9IFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GTzsKICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgVklSVENITkxfT1BfRVZFTlQK Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjUzOjEzOiBlcnJvcjogaW52YWxpZCBh cHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCB2 aXJ0Y2hubF9wa2dfaW5mb+KAmQogICAgICBzaXplb2Yoc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZv KSk7CiAgICAgICAgICAgICBefn5+fn4KWzEwMDkvMjE2MV0gQ29tcGlsaW5nIEMgb2JqZWN0ICdk cml2ZXJzL25ldC9pY2UvYmFzZS8zOTU0NWEyQEBpY2VfYmFzZUBzdGEvaWNlX252bS5jLm8nLgpb MTAxMC8yMTYxXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9w bWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9ldGhkZXYuYy5vJy4KRkFJTEVEOiBkcml2ZXJzL2E3 MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfZXRoZGV2LmMubyAKZ2Nj IC1JZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9k cml2ZXJzIC1JZHJpdmVycy9uZXQvaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJz L25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9j b21tb24vaWF2ZiAtSWxpYi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUku IC1JLi4vIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1 ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFs L2xpbnV4L2VhbC9pbmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUku Li9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSWxpYi9saWJydGVfZWFs IC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVf a3ZhcmdzIC1JbGliL2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVf bWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9s aWJydGVfbWVtcG9vbCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxp Yi9saWJydGVfbWV0ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1J Li4vZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0 ZV9wY2kgLUkuLi9saWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJz L2J1cy92ZGV2IC1JZHJpdmVycy9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYg LWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAt V2FsbCAtV2ludmFsaWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAt V2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9y bWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMg LVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAt V3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdz IC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFy Y2g9bmF0aXZlIC1tbm8tYXZ4NTEyZiAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaWN0 LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQT1JUIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtTUQg LU1RICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZf ZXRoZGV2LmMubycgLU1GICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25l dF9pYXZmX2lhdmZfZXRoZGV2LmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3Bt ZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX2V0aGRldi5jLm8nIC1jIC4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9ldGhkZXYuYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX2V0aGRldi5jOjI4OjA6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzog ZXJyb3I6IGZpZWxkIOKAmHBrZ19pbmZv4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3Qg dmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfaW5pdF92ZuKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX2V0aGRldi5jOjEyNDA6MzM6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1FVRVJZ X0REUOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JTVkTigJk/CiAgaWYgKHZmLT52Zl9yZXMtPnZm X2NhcF9mbGFncyAmIFZJUlRDSE5MX1ZGX09GRkxPQURfUVVFUllfRERQKSB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUlNWRAouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6MTI0MDozMzogbm90ZTogZWFjaCB1bmRlY2xh cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0 IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjEyNDc6MzM6IGVy cm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JYX0ZMRVhfREVTQ+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9WRl9P RkZMT0FEX1JFUV9RVUVVRVPigJk/CiAgaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAmIFZJ UlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVFUwpbMTAxMS8y MTYxXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2 ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4LmMubycuCkZBSUxFRDogZHJpdmVycy9hNzE1MTgxQEB0 bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHguYy5vIApnY2MgLUlkcml2ZXJz L2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlk cml2ZXJzL25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYv Li4vLi4vY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZm IC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8gLUlj b25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvbGludXgvZWFs L2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21t b24gLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIv bGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUls aWIvbGlicnRlX25ldCAtSS4uL2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4v bGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1w b29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9t ZXRlciAtSS4uL2xpYi9saWJydGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJz L2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvbGlicnRlX3BjaSAtSS4u L2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYg LUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdub3N0 aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52 YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdj YXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJp dHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1l eHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21w YXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNz aW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUg LW1uby1hdng1MTJmIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcg LURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZl cnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4LmMubycg LU1GICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZf cnh0eC5jLm8uZCcgLW8gJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0 X2lhdmZfaWF2Zl9yeHR4LmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYwpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyNzow OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCDigJhwa2df aW5mb+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZvIHBr Z19pbmZvOyAvKiBwYWNrYWdlIGluZm8gKi8KICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6Mjg6MDoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguaDo2MjoyNzogZXJyb3I6IOKA mHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVy IGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiBbLVdlcnJvcl0KICNkZWZpbmUgaWF2Zl9yeF9mbGV4X2Rlc2MgaWF2Zl8zMmJf cnhfZmxleF9kZXNjCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzo3MTk6MjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhp YXZmX3J4X2ZsZXhfZGVzY+KAmQogICAgICB2b2xhdGlsZSB1bmlvbiBpYXZmX3J4X2ZsZXhfZGVz YyAqcnhkcCkKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzOjAsCiAgICAgICAg ICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2ZsZXhfcnhkX3Rv X3ZsYW5fdGNp4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjcyMToyNzogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9sYXRpbGUg dW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgaWYgKHJ0ZV9sZV90b19jcHVfNjQocnhk cC0+d2Iuc3RhdHVzX2Vycm9yMCkgJgogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4Mzoz MDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzY04oCZCiAj ZGVmaW5lIHJ0ZV9sZV90b19jcHVfNjQoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo3MjI6OTogZXJyb3I6IOKAmElB VkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfTDJUQUcxUF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNf TDJUQUcxUF9TSElGVOKAmT8KICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9MMlRB RzFQX1MpKSB7CiAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAg ICAgICAgIElBVkZfUlhfREVTQ19TVEFUVVNfTDJUQUcxUF9TSElGVAouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjcyMjo5OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBp cyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyODowOgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4Lmg6NjI6Mjc6IGVycm9yOiDigJh1bmlvbiBpYXZmXzMyYl9yeF9m bGV4X2Rlc2PigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3Jd CiAjZGVmaW5lIGlhdmZfcnhfZmxleF9kZXNjIGlhdmZfMzJiX3J4X2ZsZXhfZGVzYwogICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Nzkx OjI1OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYaWF2Zl9yeF9mbGV4X2Rlc2PigJkK ICAgICAgICAgIHZvbGF0aWxlIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNjICpyeGRwKQogICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzOjAsCiAgICAgICAgICAgICAgICAgZnJv bSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3J4ZF90b19wa3RfZmllbGRz4oCZOgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjc5ODozNDogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9sYXRpbGUgc3RydWN0IGlhdmZfMzJi X3J4X2ZsZXhfZGVzY19jb21tc19vdnPigJkKICBzdGF0X2VyciA9IHJ0ZV9sZV90b19jcHVfMTYo ZGVzYy0+c3RhdHVzX2Vycm9yMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIu aDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE2 4oCZCiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAgICAgICAg ZnJvbSAuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfcndsb2Nr Lmg6MTMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZS9ydGVfZmJhcnJheS5oOjQwLAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX21lbW9yeS5oOjI1LAogICAgICAgICAgICAgICAgIGZy b20gLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX21lbXpvbmUuaDoyNywKICAg ICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTY6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Nzk5OjMwOiBlcnJvcjog4oCYSUFWRl9SWF9G TEVYX0RFU0NfU1RBVFVTMF9SU1NfVkFMSURfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0RFU0NfU1RBVFVTX1RTWU5W QUxJRF9TSElGVOKAmT8KICBpZiAobGlrZWx5KHN0YXRfZXJyICYgKDEgPDwgSUFWRl9SWF9GTEVY X0RFU0NfU1RBVFVTMF9SU1NfVkFMSURfUykpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0 aW9uLmg6MjQ6Mzk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYbGlrZWx54oCZCiAj ZGVmaW5lIGxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfZmxleF9yeGRfZXJyb3JfdG9fcGt0X2ZsYWdz4oCZOgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgyNjozNTogZXJyb3I6IOKAmElBVkZfUlhf RkxFWF9ERVNDX1NUQVRVUzBfTDNMNFBfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0RFU0NfU1RBVFVTX0wzTDRQX1NI SUZU4oCZPwogIGlmICh1bmxpa2VseSghKHN0YXRfZXJyMCAmICgxIDw8IElBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfTDNMNFBfUykpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlv bi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAj ZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eC5jOjgxMjo5OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9IQk9fU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0wzTDRQX1PigJk/CiAgKCgxIDw8IElBVkZfUlhf RkxFWF9ERVNDX1NUQVRVUzBfSEJPX1MpIHwgXAogICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2VseeKAmQogI2RlZmluZSBsaWtlbHkoeCkgX19idWls dGluX2V4cGVjdCghISh4KSwgMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgyOToyNzogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmElBVkZfUlhfRkxFWF9FUlIwX0JJVFPigJkKICBpZiAobGlrZWx5 KCEoc3RhdF9lcnIwICYgSUFWRl9SWF9GTEVYX0VSUjBfQklUUykpKSB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzo4MTM6OTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNV TV9JUEVfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0wzTDRQX1PigJk/CiAgICgxIDw8 IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9JUEVfUykgfCBcCiAgICAgICAgIF4KLi4v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6 Mzk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYbGlrZWx54oCZCiAjZGVmaW5lIGxp a2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KA mQogIGlmIChsaWtlbHkoIShzdGF0X2VycjAgJiBJQVZGX1JYX0ZMRVhfRVJSMF9CSVRTKSkpIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxNDo5OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RF U0NfU1RBVFVTMF9YU1VNX0w0RV9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9J UEVfU+KAmT8KICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0w0RV9TKSB8 IFwKICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfYnJhbmNo X3ByZWRpY3Rpb24uaDoyNDozOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhsaWtl bHnigJkKICNkZWZpbmUgbGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhJQVZGX1JY X0ZMRVhfRVJSMF9CSVRT4oCZCiAgaWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZfUlhfRkxF WF9FUlIwX0JJVFMpKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODE1Ojk6IGVycm9yOiDi gJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fRUlQRV9T4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfWFNVTV9JUEVfU+KAmT8KICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RB VFVTMF9YU1VNX0VJUEVfUykgfCBcCiAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6Mzk6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYbGlrZWx54oCZCiAjZGVmaW5lIGxpa2VseSh4KSBfX2J1aWx0aW5fZXhw ZWN0KCEhKHgpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3OiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KAmQogIGlmIChsaWtlbHkoIShzdGF0 X2VycjAgJiBJQVZGX1JYX0ZMRVhfRVJSMF9CSVRTKSkpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eC5jOjgxNjo5OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0VVRFBF X1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0VJUEVfU+KAmT8KICAgKDEgPDwg SUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0VVRFBFX1MpIHwgXAogICAgICAgICBeCi4u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0 OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2VseeKAmQogI2RlZmluZSBs aWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgyOToy Nzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmElBVkZfUlhfRkxFWF9FUlIwX0JJVFPi gJkKICBpZiAobGlrZWx5KCEoc3RhdF9lcnIwICYgSUFWRl9SWF9GTEVYX0VSUjBfQklUUykpKSB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4MTc6OTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfUlhFX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9IQk9fU+KAmT8K ICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9SWEVfUykpCiAgICAgICAgIF4KLi4v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6 Mzk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYbGlrZWx54oCZCiAjZGVmaW5lIGxp a2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KA mQogIGlmIChsaWtlbHkoIShzdGF0X2VycjAgJiBJQVZGX1JYX0ZMRVhfRVJSMF9CSVRTKSkpIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3JlY3ZfcGt0c19m bGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo5OTk6MjY6IGVycm9y OiBzdG9yYWdlIHNpemUgb2Yg4oCYcnhk4oCZIGlzbuKAmXQga25vd24KICB1bmlvbiBpYXZmX3J4 X2ZsZXhfZGVzYyByeGQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTAxNzoxNzogZXJyb3I6IOKAmHN0cnVjdCBpYXZmX3J4X3F1 ZXVl4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdnNp4oCZCiAgcHR5cGVfdGJsID0gcnhxLT52 c2ktPmFkYXB0ZXItPnB0eXBlX3RibDsKICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAg ICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTAyMTozOTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgIHJ4X3N0YXRfZXJyMCA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iuc3RhdHVz X2Vycm9yMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgxOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNk ZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjEwMjQ6MzA6IGVycm9yOiDigJhJ QVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNU 4oCZPwogICBpZiAoIShyeF9zdGF0X2VycjAgJiAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFU VVMwX0REX1MpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBVkZfUlhfREVT Q19TVEFUVVNfTEFTVAouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjEwNjM6NTogZXJy b3I6IOKAmElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfVFhfQ1RYX0RFU0NfVFNZ TuKAmT8KICAgICBJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTSkgLSByeHEtPmNyY19sZW47CiAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICBJQVZGX1RYX0NUWF9ERVNDX1RTWU4K Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMDczOjMyOiBlcnJvcjog4oCYSUFWRl9S WF9GTEVYX0RFU0NfUFRZUEVfTeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTeKAmT8KICAg cnhtLT5wYWNrZXRfdHlwZSA9IHB0eXBlX3RibFtJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NICYK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVO X00KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMDEwOjE4OiBlcnJvcjogdmFyaWFi bGUg4oCYcHR5cGVfdGJs4oCZIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1z ZXQtdmFyaWFibGVdCiAgY29uc3QgdWludDMyX3QgKnB0eXBlX3RibDsKICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6OTk5OjI2OiBlcnJv cjogdW51c2VkIHZhcmlhYmxlIOKAmHJ4ZOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAg dW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgcnhkOwogICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3Jl Y3Zfc2NhdHRlcmVkX3BrdHNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmM6MTExMToyNjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyeGTigJkgaXNu4oCZdCBr bm93bgogIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNjIHJ4ZDsKICAgICAgICAgICAgICAgICAgICAg ICAgICBefn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTI1OjMzOiBlcnJvcjog 4oCYc3RydWN0IGlhdmZfcnhfcXVldWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh2c2nigJkK ICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsID0gcnhxLT52c2ktPmFkYXB0ZXItPnB0eXBlX3Ri bDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzOjAsCiAgICAgICAgICAgICAgICAg ZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjExMjk6Mzk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KA mQogICByeF9zdGF0X2VycjAgPSBydGVfbGVfdG9fY3B1XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJv cjApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAjZGVmaW5l IHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTMyOjMwOiBlcnJvcjog4oCYSUFWRl9S WF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVOKAmT8K ICAgaWYgKCEocnhfc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9E RF9TKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1JYX0RFU0NfU1RB VFVTX0xBU1QKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTczOjU6IGVycm9yOiDi gJhJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1RYX0NUWF9ERVNDX1RTWU7igJk/ CiAgICAgSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX007CiAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICBJQVZGX1RYX0NUWF9ERVNDX1RTWU4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzoxMTk5OjMwOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9F T0ZfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJk/CiAgIGlmICghKHJ4X3N0 YXRfZXJyMCAmICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRU9GX1MpKSkgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBf RERfUwouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjEyMzE6Mzg6IGVycm9yOiDigJhJ QVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9N4oCZ PwogICBmaXJzdF9zZWctPnBhY2tldF90eXBlID0gcHR5cGVfdGJsW0lBVkZfUlhfRkxFWF9ERVND X1BUWVBFX00gJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ QVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTQouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5j OjExMjU6MTg6IGVycm9yOiB2YXJpYWJsZSDigJhwdHlwZV90YmzigJkgc2V0IGJ1dCBub3QgdXNl ZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KICBjb25zdCB1aW50MzJfdCAqcHR5 cGVfdGJsID0gcnhxLT52c2ktPmFkYXB0ZXItPnB0eXBlX3RibDsKICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTExMToyNjogZXJyb3I6 IHVudXNlZCB2YXJpYWJsZSDigJhyeGTigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHVu aW9uIGlhdmZfcnhfZmxleF9kZXNjIHJ4ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICBefn4K Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9yeF9z Y2FuX2h3X3JpbmdfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6 MTQ4MjozMzogZXJyb3I6IOKAmHN0cnVjdCBpYXZmX3J4X3F1ZXVl4oCZIGhhcyBubyBtZW1iZXIg bmFtZWQg4oCYdnNp4oCZCiAgY29uc3QgdWludDMyX3QgKnB0eXBlX3RibCA9IHJ4cS0+dnNpLT5h ZGFwdGVyLT5wdHlwZV90Ymw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Cklu IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAog ICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoK Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNDg3OjM1OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZmXzMy Yl9yeF9mbGV4X2Rlc2PigJkKICBzdGF0X2VycjAgPSBydGVfbGVfdG9fY3B1XzE2KHJ4ZHAtPndi LnN0YXR1c19lcnJvcjApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgx OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkK ICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE0OTA6MjY6IGVycm9yOiDi gJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19M QVNU4oCZPwogIGlmICghKHN0YXRfZXJyMCAmICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRV UzBfRERfUykpKQogICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgIElBVkZfUlhfREVTQ19TVEFUVVNf TEFTVAouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE0OTc6MTI6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2Pi gJkKICAgICAgIHJ4ZHAgKz0gSUFWRl9MT09LX0FIRUFELCByeGVwICs9IElBVkZfTE9PS19BSEVB RCkgewogICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9t YnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUw MDozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZf MzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgc1tqXSA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcFtqXS53 Yi5zdGF0dXNfZXJyb3IwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MToz MDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAj ZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNTE3OjM2OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj 4oCZCiAgICBwa3RfbGVuID0gKHJ0ZV9sZV90b19jcHVfMTYocnhkcFtqXS53Yi5wa3RfbGVuKSAm CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgxOjMwOiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNkZWZpbmUgcnRlX2xl X3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MTg6NTogZXJyb3I6IOKAmElBVkZfUlhfRkxYX0RF U0NfUEtUX0xFTl9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuIOKAmElBVkZfVFhfQ1RYX0RFU0NfVFNZTuKAmT8KICAgICBJQVZGX1JYX0ZM WF9ERVNDX1BLVF9MRU5fTSkgLSByeHEtPmNyY19sZW47CiAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICBJQVZGX1RYX0NUWF9ERVNDX1RTWU4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzoxNTIzOjMyOiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfUFRZUEVfTeKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTeKAmT8KICAgIG1iLT5wYWNrZXRfdHlwZSA9IHB0 eXBlX3RibFtJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NICYKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX00KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzOjAsCiAgICAgICAgICAgICAgICAg ZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjE1MjQ6MjY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgICBydGVfbGVfdG9fY3B1 XzE2KHJ4ZHBbal0ud2IucHR5cGVfZmxleF9mbGFnczApXTsKICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRl b3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9f Y3B1XzE24oCZCiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNTI1OjM5 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJf cnhfZmxleF9kZXNj4oCZCiAgICBpYXZmX2ZsZXhfcnhkX3RvX3ZsYW5fdGNpKG1iLCAmcnhkcFtq XSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzoxNTI2OjM2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICBpYXZmX3J4ZF90 b19wa3RfZmllbGRzKG1iLCAmcnhkcFtqXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1 Zi5oOjQzOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1Mjc6Mzc6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4 X2Rlc2PigJkKICAgIHN0YXRfZXJyMCA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcFtqXS53Yi5zdGF0 dXNfZXJyb3IwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgxOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNk ZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE0ODI6MTg6IGVycm9yOiB2YXJp YWJsZSDigJhwdHlwZV90YmzigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0 LXNldC12YXJpYWJsZV0KICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsID0gcnhxLT52c2ktPmFk YXB0ZXItPnB0eXBlX3RibDsKICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uIOKAmHJ4X3JlY3ZfcGt0c+KAmToKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzM2OjIwOiBlcnJvcjog4oCYSUFWRl9SWERJ RF9DT01NU19PVlNfMeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBpZiAocnhxLT5yeGRpZCA9PSBJQVZGX1JYRElEX0NPTU1TX09WU18xKQogICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHguYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9zZXRfcnhfZnVuY3Rpb27igJk6Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjIwNTo1OiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZGTE9B RF9SWF9GTEVYX0RFU0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4g4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVT4oCZPwogICAg IFZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKQogICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9kZXZfcnhx X2NvdW50X2ZsZXhfcnhk4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjIzMzc6 MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHZv bGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAgICBydGVfbGVfdG9f Y3B1XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjApICYKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0 ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3Rv X2NwdV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjMzODox NTogZXJyb3I6IOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0RF U0NfU1RBVFVTX0xBU1TigJk/CiAgICAgICAgICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRV UzBfRERfUykpIHsKICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgICAgICAgICAgIElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVAouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjIzNDQ6ODogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICByeGRwICs9IElBVkZfUlhR X1NDQU5fSU5URVJWQUw7CiAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHgu YzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9kZXZfcnhxX2NvdW504oCZOgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjIzNjY6MjA6IGVycm9yOiDigJhJQVZGX1JYRElEX0NPTU1TX09WU18x 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChyeHEtPnJ4 ZGlkID09IElBVkZfUlhESURfQ09NTVNfT1ZTXzEpCiAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVm L3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEluIGZ1 bmN0aW9uIOKAmGlhdmZfZGV2X3J4X2Rlc2Nfc3RhdHVzX2ZsZXhfcnhk4oCZOgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eC5jOjI0MDU6Mjc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhf ZGVzY+KAmQogIGlmIChydGVfbGVfdG9fY3B1XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjApICYK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2 KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MjQwNjo5OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVT MF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVOKAmT8KICAgKDEgPDwgSUFWRl9SWF9G TEVYX0RFU0NfU1RBVFVTMF9ERF9TKSkKICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgICAgIElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVAouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2Rldl9yeF9kZXNjX3N0YXR1c+KA mToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyNDIwOjIwOiBlcnJvcjog4oCYSUFW Rl9SWERJRF9DT01NU19PVlNfMeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICBpZiAocnhxLT5yeGRpZCA9PSBJQVZGX1JYRElEX0NPTU1TX09WU18xKQogICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVp bmcgdHJlYXRlZCBhcyBlcnJvcnMKWzEwMTIvMjE2MV0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2 ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2huczNAc3RhL25ldF9obnMzX2huczNfcnh0eC5jLm8n LgpbMTAxMy8yMTYxXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvbmV0L2ljZS9iYXNlLzM5 NTQ1YTJAQGljZV9iYXNlQHN0YS9pY2VfZmxleF9waXBlLmMubycuClsxMDE0LzIxNjFdIENvbXBp bGluZyBDIG9iamVjdCAnZHJpdmVycy9uZXQvaWNlL2Jhc2UvMzk1NDVhMkBAaWNlX2Jhc2VAc3Rh L2ljZV9zd2l0Y2guYy5vJy4KbmluamE6IGJ1aWxkIHN0b3BwZWQ6IHN1YmNvbW1hbmQgZmFpbGVk CgoKCgoqTWVzb24gQnVpbGQgRmFpbGVkICM1OgpPUzogRnJlZUJTRDEyMDEtNjQKVGFyZ2V0Oi4v YnVpbGQtZ2NjLXN0YXRpYwpGQUlMRUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2 ZkBzdGEvbmV0X2lhdmZfaWF2Zl9ldGhkZXYuYy5vIApnY2MgLUlkcml2ZXJzL2E3MTUxODFAQHRt cF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL25ldC9p YXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9u L2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0 ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8gLUljb25maWcgLUkuLi9j b25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvZnJlZWJzZC9lYWwvaW5jbHVkZSAt SWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9s aWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2luY2x1ZGUvYXJjaC94ODYgLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xpYi9saWJydGVfZWFs IC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAtSWxpYi9saWJydGVf bmV0IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYgLUkuLi9saWIvbGlicnRl X21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIv bGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRlX3JpbmcgLUlsaWIvbGlicnRlX21ldGVyIC1JLi4v bGliL2xpYnJ0ZV9tZXRlciAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAt SS4uL2RyaXZlcnMvYnVzL3BjaS9ic2QgLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVf cGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2Nv bW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFs d2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdl cnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdk ZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5n LWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xk LXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0 LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tl ZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRp YWxpemVycyAtRF9HTlVfU09VUkNFIC1EX19CU0RfVklTSUJMRSAtZlBJQyAtbWFyY2g9bmF0aXZl IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NV UFBPUlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBA dG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9ldGhkZXYuYy5vJyAtTUYgJ2RyaXZl cnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9ldGhkZXYuYy5v LmQnIC1vICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lh dmZfZXRoZGV2LmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfZXRoZGV2LmM6Mjg6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkICdwa2dfaW5mbycg aGFzIGluY29tcGxldGUgdHlwZQogIDExMCB8ICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtn X2luZm87IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOiBJbiBmdW5jdGlv biAnaWF2Zl9pbml0X3ZmJzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjEyNDA6 MzM6IGVycm9yOiAnVklSVENITkxfVkZfT0ZGTE9BRF9RVUVSWV9ERFAnIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdWSVJUQ0hOTF9WRl9PRkZM T0FEX1JTVkQnPwogMTI0MCB8ICBpZiAodmYtPnZmX3Jlcy0+dmZfY2FwX2ZsYWdzICYgVklSVENI TkxfVkZfT0ZGTE9BRF9RVUVSWV9ERFApIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JTVkQKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX2V0aGRldi5jOjEyNDA6MzM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBp ZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9ldGhkZXYuYzoxMjQ3OjMzOiBlcnJvcjog J1ZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDJyB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnVklSVENITkxfVkZfT0ZGTE9BRF9SRVFf UVVFVUVTJz8KIDEyNDcgfCAgaWYgKHZmLT52Zl9yZXMtPnZmX2NhcF9mbGFncyAmIFZJUlRDSE5M X1ZGX09GRkxPQURfUlhfRkxFWF9ERVNDKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVT Cls4MDYvMTY0MF0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVf cG1kX2l4Z2JlQHN0YS9uZXRfaXhnYmVfaXhnYmVfODI1OTlfYnlwYXNzLmMubycuCls4MDcvMTY0 MF0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2hpbmlj QHN0YS9uZXRfaGluaWNfaGluaWNfcG1kX2Zsb3cuYy5vJy4KWzgwOC8xNjQwXSBHZW5lcmF0aW5n IHJ0ZV9wbWRfaTQwZS5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQuCls4MDkvMTY0MF0gQ29t cGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25l dF9pYXZmX2lhdmZfdmNobmwuYy5vJy4KRkFJTEVEOiBkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVf cG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfdmNobmwuYy5vIApnY2MgLUlkcml2ZXJzL2E3MTUx ODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJz L25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4v Y29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmIC1JbGli L2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8gLUljb25maWcg LUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvZnJlZWJzZC9lYWwvaW5j bHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbiAt SWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JLi4vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xpYi9saWJy dGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAtSWxpYi9s aWJydGVfbmV0IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYgLUkuLi9saWIv bGlicnRlX21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21lbXBvb2wg LUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRlX3JpbmcgLUlsaWIvbGlicnRlX21ldGVy IC1JLi4vbGliL2xpYnJ0ZV9tZXRlciAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVz L3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9ic2QgLUlsaWIvbGlicnRlX3BjaSAtSS4uL2xpYi9s aWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2 ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdub3N0aWNzLWNv bG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1w Y2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1 YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdt aXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5z IC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1X c3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9m LXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxk LWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1EX19CU0RfVklTSUJMRSAtZlBJQyAtbWFyY2g9 bmF0aXZlIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19B VlgyX1NVUFBPUlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcx NTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5jLm8nIC1NRiAn ZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3ZjaG5s LmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2 Zl9pYXZmX3ZjaG5sLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjIyOgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9yOiBmaWVsZCAncGtnX2luZm8n IGhhcyBpbmNvbXBsZXRlIHR5cGUKICAxMTAgfCAgc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZvIHBr Z19pbmZvOyAvKiBwYWNrYWdlIGluZm8gKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOiBJbiBmdW5jdGlv biAnaWF2Zl9leGVjdXRlX3ZmX2NtZCc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5j OjkxOjc6IGVycm9yOiAnVklSVENITkxfT1BfUEFDS0FHRV9JTkZPJyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgOTEgfCAgY2FzZSBWSVJUQ0hOTF9PUF9QQUNLQUdF X0lORk86CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl92Y2hubC5jOjkxOjc6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlm aWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGlu Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjkyOjc6IGVycm9yOiAnVklSVENITkxf T1BfUlhESUQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuICdWSVJUQ0hOTF9PUF9SU1ZEJz8KICAgOTIgfCAgY2FzZSBWSVJUQ0hOTF9PUF9SWERJ RDoKICAgICAgfCAgICAgICBefn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgIFZJUlRDSE5M X09QX1JTVkQKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6IEluIGZ1bmN0aW9uICdp YXZmX2dldF92Zl9yZXNvdXJjZSc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjM0 NDozOiBlcnJvcjogJ1ZJUlRDSE5MX1ZGX09GRkxPQURfUVVFUllfRERQJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnVklSVENITkxfVkZfT0ZG TE9BRF9SU1ZEJz8KICAzNDQgfCAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUVVFUllfRERQIHwKICAg ICAgfCAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICBWSVJUQ0hOTF9W Rl9PRkZMT0FEX1JTVkQKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MzQ1OjM6IGVy cm9yOiAnVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MnIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdWSVJUQ0hOTF9WRl9PRkZMT0FE X1JFUV9RVUVVRVMnPwogIDM0NSB8ICAgVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0M7 CiAgICAgIHwgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgVklS VENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hu bC5jOiBJbiBmdW5jdGlvbiAnaWF2Zl9nZXRfc3VwcG9ydGVkX3J4ZGlkJzoKLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6Mzg5OjEzOiBlcnJvcjogJ1ZJUlRDSE5MX09QX1JYRElEJyB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnVklS VENITkxfT1BfUlNWRCc/CiAgMzg5IHwgIGFyZ3Mub3BzID0gVklSVENITkxfT1BfUlhESUQ7CiAg ICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICBW SVJUQ0hOTF9PUF9SU1ZECi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOiBJbiBmdW5j dGlvbiAnaWF2Zl9jb25maWd1cmVfcXVldWVzJzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3Zj aG5sLmM6NjAxOjg6IGVycm9yOiAnVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MnIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdWSVJU Q0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVVRVMnPwogIDYwMSB8ICAgICAgICBWSVJUQ0hOTF9WRl9P RkZMT0FEX1JYX0ZMRVhfREVTQyAmJgogICAgICB8ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVV RVMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9u L2lhdmYvaWF2Zl9wcm90b3R5cGUuaDo4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmLmg6OSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl92Y2hubC5jOjIyOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2 MDI6MzQ6IGVycm9yOiAnSUFWRl9SWERJRF9DT01NU19PVlNfMScgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjAyIHwgICAgICAgIHZmLT5zdXBwb3J0ZWRfcnhkaWQg JiBCSVQoSUFWRl9SWERJRF9DT01NU19PVlNfMSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lh dmYvLi4vLi4vY29tbW9uL2lhdmYvaWF2Zl90eXBlLmg6MjM6MjU6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8gJ0JJVCcKICAgMjMgfCAjZGVmaW5lIEJJVChhKSAoMVVMIDw8IChhKSkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92 Y2hubC5jOjYwMzoxNTogZXJyb3I6ICdzdHJ1Y3QgdmlydGNobmxfcnhxX2luZm8nIGhhcyBubyBt ZW1iZXIgbmFtZWQgJ3J4ZGlkJwogIDYwMyB8ICAgICB2Y19xcC0+cnhxLnJ4ZGlkID0gSUFWRl9S WERJRF9DT01NU19PVlNfMTsKICAgICAgfCAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjEzLAogICAgICAgICAgICAgICAgIGZy b20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MjI6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl92Y2hubC5jOjYwNjozMzogZXJyb3I6ICdzdHJ1Y3QgdmlydGNobmxfcnhxX2luZm8n IGhhcyBubyBtZW1iZXIgbmFtZWQgJ3J4ZGlkJwogIDYwNiB8ICAgICAgICAgICJRdWV1ZVslZF0i LCB2Y19xcC0+cnhxLnJ4ZGlkLCBpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX2xvZy5oOjE3OjE2OiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvICdQTURfRFJWX0xPR19SQVcnCiAgIDE3IHwgICBfX2Z1bmNfXywg IyMgYXJncykKICAgICAgfCAgICAgICAgICAgICAgICBefn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl92Y2hubC5jOjYwNTo1OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1BNRF9EUlZf TE9HJwogIDYwNSB8ICAgICBQTURfRFJWX0xPRyhOT1RJQ0UsICJyZXF1ZXN0IFJYRElEID09ICVk IGluICIKICAgICAgfCAgICAgXn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3Zj aG5sLmM6NjA4OjE1OiBlcnJvcjogJ3N0cnVjdCB2aXJ0Y2hubF9yeHFfaW5mbycgaGFzIG5vIG1l bWJlciBuYW1lZCAncnhkaWQnCiAgNjA4IHwgICAgIHZjX3FwLT5yeHEucnhkaWQgPSBJQVZGX1JY RElEX0xFR0FDWV8xOwogICAgICB8ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfdmNobmwuYzo2MDg6MjQ6IGVycm9yOiAnSUFWRl9SWERJRF9MRUdBQ1lfMScgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjA4IHwgICAgIHZjX3FwLT5yeHEu cnhkaWQgPSBJQVZGX1JYRElEX0xFR0FDWV8xOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmLmg6MTMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfdmNobmwuYzoyMjoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjEx OjMzOiBlcnJvcjogJ3N0cnVjdCB2aXJ0Y2hubF9yeHFfaW5mbycgaGFzIG5vIG1lbWJlciBuYW1l ZCAncnhkaWQnCiAgNjExIHwgICAgICAgICAgIlF1ZXVlWyVkXSIsIHZjX3FwLT5yeHEucnhkaWQs IGkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfbG9nLmg6MTc6MTY6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g J1BNRF9EUlZfTE9HX1JBVycKICAgMTcgfCAgIF9fZnVuY19fLCAjIyBhcmdzKQogICAgICB8ICAg ICAgICAgICAgICAgIF5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjEwOjU6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnUE1EX0RSVl9MT0cnCiAgNjEwIHwgICAgIFBN RF9EUlZfTE9HKE5PVElDRSwgInJlcXVlc3QgUlhESUQgPT0gJWQgaW4gIgogICAgICB8ICAgICBe fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g J2lhdmZfcXVlcnlfcGFja2FnZV9pbmZvJzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5s LmM6NjM5OjEzOiBlcnJvcjogJ1ZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GTycgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNjM5IHwgIGFyZ3Mub3BzID0gVklSVENITkxf T1BfUEFDS0FHRV9JTkZPOwogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2NTM6MTM6IGVycm9yOiBpbnZh bGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZp cnRjaG5sX3BrZ19pbmZvJwogIDY1MyB8ICAgICAgc2l6ZW9mKHN0cnVjdCB2aXJ0Y2hubF9wa2df aW5mbykpOwogICAgICB8ICAgICAgICAgICAgIF5+fn5+fgpbODEwLzE2NDBdIENvbXBpbGluZyBD IG9iamVjdCAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9p YXZmX3J4dHhfdmVjX3NzZS5jLm8nLgpGQUlMRUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9w bWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vIApnY2MgLUlkcml2ZXJz L2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlk cml2ZXJzL25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZlcnMvbmV0L2lhdmYv Li4vLi4vY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZm IC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAtSS4gLUkuLi8gLUlj b25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9lYWwvZnJlZWJzZC9l YWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4uL2xpYi9saWJydGVfZWFsL2Nv bW1vbiAtSWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JLi4vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUlsaWIvbGlicnRlX2VhbCAtSS4uL2xp Yi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9saWIvbGlicnRlX2t2YXJncyAt SWxpYi9saWJydGVfbmV0IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUlsaWIvbGlicnRlX21idWYgLUku Li9saWIvbGlicnRlX21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wgLUkuLi9saWIvbGlicnRlX21l bXBvb2wgLUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRlX3JpbmcgLUlsaWIvbGlicnRl X21ldGVyIC1JLi4vbGliL2xpYnJ0ZV9tZXRlciAtSWRyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZl cnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9ic2QgLUlsaWIvbGlicnRlX3BjaSAtSS4u L2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZlcnMvYnVzL3ZkZXYg LUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2ZiAtZmRpYWdub3N0 aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52 YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XZXh0cmEgLVdj YXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJp dHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1l eHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21w YXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRy ZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5n LWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1EX19CU0RfVklTSUJMRSAtZlBJQyAt bWFyY2g9bmF0aXZlIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcg LURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZl cnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19z c2UuYy5vJyAtTUYgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lh dmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vLmQnIC1vICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVf cG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfc3NlLmMubycgLWMgLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6OToKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmLmg6MTEwOjI3OiBlcnJvcjogZmllbGQgJ3BrZ19pbmZvJyBoYXMgaW5jb21wbGV0ZSB0 eXBlCiAgMTEwIHwgIHN0cnVjdCB2aXJ0Y2hubF9wa2dfaW5mbyBwa2dfaW5mbzsgLyogcGFja2Fn ZSBpbmZvICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6IEluIGZ1bmN0aW9uICdmbGV4X2Rl c2NfdG9fb2xmbGFnc192JzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5j OjI4OTo5OiBlcnJvcjogJ3N0cnVjdCBpYXZmX3J4X3F1ZXVlJyBoYXMgbm8gbWVtYmVyIG5hbWVk ICd2c2knCiAgMjg5IHwgIGlmIChyeHEtPnZzaS0+YWRhcHRlci0+ZmRpcl9lbmFibGVkKSB7CiAg ICAgIHwgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6 IEluIGZ1bmN0aW9uICdmbGV4X2Rlc2NfdG9fcHR5cGVfdic6Ci4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4X3ZlY19zc2UuYzozODA6NDY6IGVycm9yOiAnSUFWRl9SWF9GTEVYX0RFU0NfUFRZ UEVfTScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4gJ0lBVkZfVFhfQ1RYX0RFU0NfU1dQRSc/CiAgMzgwIHwgIGNvbnN0IF9fbTEyOGkgcHR5cGVf bWFzayA9IF9tbV9zZXRfZXBpMTYoMCwgSUFWRl9SWF9GTEVYX0RFU0NfUFRZUEVfTSwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSUFWRl9UWF9DVFhfREVTQ19TV1BFCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4X3ZlY19zc2UuYzozODA6NDY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy IGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzogSW4gZnVuY3Rpb24gJ19yZWN2 X3Jhd19wa3RzX3ZlY19mbGV4X3J4ZCc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3Zl Y19zc2UuYzo2NTg6MzM6IGVycm9yOiAnc3RydWN0IGlhdmZfcnhfcXVldWUnIGhhcyBubyBtZW1i ZXIgbmFtZWQgJ3ZzaScKICA2NTggfCAgY29uc3QgdWludDMyX3QgKnB0eXBlX3RibCA9IHJ4cS0+ dnNpLT5hZGFwdGVyLT5wdHlwZV90Ymw7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzEzOjQ5 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9uIGlhdmZfMzJiX3J4 X2ZsZXhfZGVzYycKICA3MTMgfCAgcnhkcCA9ICh1bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyAqKXJ4 cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFpbDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 X3ZlY19zc2UuYzo3MjY6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlICd2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MnCiAgNzI2IHwg IGlmICghKHJ4ZHAtPndiLnN0YXR1c19lcnJvcjAgJgogICAgICB8ICAgICAgICAgICAgXn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzLAogICAg ICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6MjMsCiAgICAg ICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2Lmg6MTU5LAog ICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2 ZXIuaDoxOCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4X3ZlY19zc2UuYzo2OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6 NzI3OjMwOiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUycgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ0lBVkZfUlhfREVT Q19TVEFUVVNfTEFTVCc/CiAgNzI3IHwgICAgICAgIHJ0ZV9jcHVfdG9fbGVfMzIoMSA8PCBJQVZG X1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MpKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvbGlicnRlX2Vh bC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6NzQ6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiAgIDc0IHwgI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzU5OjEyOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9uIGlhdmZfMzJiX3J4X2ZsZXhf ZGVzYycKICA3NTkgfCAgICAgICByeGRwICs9IElBVkZfVlBNRF9ERVNDU19QRVJfTE9PUCkgewog ICAgICB8ICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3Nz ZS5jOjc3Mzo0NzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICd1bmlvbiBp YXZmXzMyYl9yeF9mbGV4X2Rlc2MnCiAgNzczIHwgICBkZXNjc1szXSA9IF9tbV9sb2FkdV9zaTEy OCgoX19tMTI4aSAqKShyeGRwICsgMykpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3Zl Y19zc2UuYzo3ODQ6NDc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5p b24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDc4NCB8ICAgZGVzY3NbMl0gPSBfbW1fbG9hZHVf c2kxMjgoKF9fbTEyOGkgKikocnhkcCArIDIpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eF92ZWNfc3NlLmM6Nzg3OjQ3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg J3VuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzYycKICA3ODcgfCAgIGRlc2NzWzFdID0gX21tX2xv YWR1X3NpMTI4KChfX20xMjhpICopKHJ4ZHAgKyAxKSk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHhfdmVjX3NzZS5jOjgzMzoxMDogZXJyb3I6ICdzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZScgaGFz IG5vIG1lbWJlciBuYW1lZCAndnNpJwogIDgzMyB8ICAgaWYgKHJ4cS0+dnNpLT5hZGFwdGVyLT5l dGhfZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9hZHMgJgogICAgICB8ICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo4Mzg6MjE6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNjJwogIDgzOCB8ICAgICAgKCh2b2lkICopKCZyeGRwWzNdLndiLnN0YXR1c19lcnJvcjEpKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX3NzZS5jOjg0MjoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl ICd1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MnCiAgODQyIHwgICAgICAoKHZvaWQgKikoJnJ4 ZHBbMl0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODQ2OjIxOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzYycK ICA4NDYgfCAgICAgICgodm9pZCAqKSgmcnhkcFsxXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3Zl Y19zc2UuYzo4NTA6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5p b24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDg1MCB8ICAgICAgKCh2b2lkICopKCZyeGRwWzBd LndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KWzgxMS8x NjQwXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2 ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19hdngyLmMubycuCkZBSUxFRDogZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHhfdmVjX2F2eDIu Yy5vIApnY2MgLUlkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVy cyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAt SWRyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZm Ly4uLy4uL2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0 aGRldiAtSS4gLUkuLi8gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21t b24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xp YnJ0ZV9lYWwvZnJlZWJzZC9lYWwvaW5jbHVkZSAtSWxpYi9saWJydGVfZWFsL2NvbW1vbiAtSS4u L2xpYi9saWJydGVfZWFsL2NvbW1vbiAtSWxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2Fy Y2gveDg2IC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUlsaWIv bGlicnRlX2VhbCAtSS4uL2xpYi9saWJydGVfZWFsIC1JbGliL2xpYnJ0ZV9rdmFyZ3MgLUkuLi9s aWIvbGlicnRlX2t2YXJncyAtSWxpYi9saWJydGVfbmV0IC1JLi4vbGliL2xpYnJ0ZV9uZXQgLUls aWIvbGlicnRlX21idWYgLUkuLi9saWIvbGlicnRlX21idWYgLUlsaWIvbGlicnRlX21lbXBvb2wg LUkuLi9saWIvbGlicnRlX21lbXBvb2wgLUlsaWIvbGlicnRlX3JpbmcgLUkuLi9saWIvbGlicnRl X3JpbmcgLUlsaWIvbGlicnRlX21ldGVyIC1JLi4vbGliL2xpYnJ0ZV9tZXRlciAtSWRyaXZlcnMv YnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaSAtSS4uL2RyaXZlcnMvYnVzL3BjaS9ic2QgLUls aWIvbGlicnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4u L2RyaXZlcnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21t b24vaWF2ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9C SVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2Nv bmZpZy5oIC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVy YWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJv dG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVy LWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRl LXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFs aWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1EX19C U0RfVklTSUJMRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLVdu by1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19FWFBFUklNRU5UQUxf QVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lh dmZfaWF2Zl9yeHR4X3ZlY19hdngyLmMubycgLU1GICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVf cG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92ZWNfYXZ4Mi5jLm8uZCcgLW8gJ2RyaXZl cnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19h dngyLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYwpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2NvbW1v bi5oOjExLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX2F2eDIuYzo1OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9y OiBmaWVsZCAncGtnX2luZm8nIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAxMTAgfCAgc3RydWN0IHZp cnRjaG5sX3BrZ19pbmZvIHBrZ19pbmZvOyAvKiBwYWNrYWdlIGluZm8gKi8KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4X3ZlY19hdngyLmM6IEluIGZ1bmN0aW9uICdpYXZmX3J4cV9yZWFybSc6Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6MjA6MjA6IGVycm9yOiAnSUFWRl9SWERJRF9D T01NU19PVlNfMScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIDIw IHwgIGlmIChyeHEtPnJ4ZGlkID09IElBVkZfUlhESURfQ09NTVNfT1ZTXzEpIHsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjIwOjIwOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRl bnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFy cyBpbgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOiBJbiBmdW5jdGlv biAnX2lhdmZfcmVjdl9yYXdfcGt0c192ZWNfYXZ4Ml9mbGV4X3J4ZCc6Ci4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6NTk2OjM0OiBlcnJvcjogJ3N0cnVjdCBpYXZmX3J4 X3F1ZXVlJyBoYXMgbm8gbWVtYmVyIG5hbWVkICd2c2knCiAgNTk2IHwgIGNvbnN0IHVpbnQzMl90 ICp0eXBlX3RhYmxlID0gcnhxLT52c2ktPmFkYXB0ZXItPnB0eXBlX3RibDsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eF92ZWNfYXZ4Mi5jOjYwMjo0MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlICd1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MnCiAgNjAyIHwgICAodW5pb24gaWF2Zl9y eF9mbGV4X2Rlc2MgKilyeHEtPnJ4X3JpbmcgKyByeHEtPnJ4X3RhaWw7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjYxOToxMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUgJ3ZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz YycKICA2MTkgfCAgaWYgKCEocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCAmCiAgICAgIHwgICAgICAg ICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVm Lmg6NDMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX25ldC9ydGVfZXRoZXIu aDoyMywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhk ZXYuaDoxNTksCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX2V0aGRldi9ydGVf ZXRoZGV2X2RyaXZlci5oOjE4LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHhfdmVjX2NvbW1vbi5oOjgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjU6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6NjIwOjI2OiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9ERVND X1NUQVRVUzBfRERfUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4gJ0lBVkZfUlhfREVTQ19TVEFUVVNfTEFTVCc/CiAgNjIwIHwgICAgcnRlX2Nw dV90b19sZV8zMigxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUykpKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K Li4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5o Ojc0OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwog ICA3NCB8ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2 eDIuYzo2NDU6NDogZXJyb3I6ICdJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0VPRl9TJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnSUFWRl9S WF9ERVNDX1NUQVRVU19FT0ZfU0hJRlQnPwogIDY0NSB8ICAgIElBVkZfUlhfRkxFWF9ERVNDX1NU QVRVUzBfRU9GX1MpOwogICAgICB8ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICBJQVZGX1JYX0RFU0NfU1RBVFVTX0VPRl9TSElGVAouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc1MjoxMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlICd1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MnCiAgNzUyIHwgICAgICAg cnhkcCArPSBJQVZGX0RFU0NTX1BFUl9MT09QX0FWWCkgewogICAgICB8ICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo3NjU6MzM6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj JwogIDc2NSB8ICAgIF9tbV9sb2FkX3NpMTI4KCh2b2lkICopKHJ4ZHAgKyA3KSk7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4X3ZlY19hdngyLmM6NzY4OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUgJ3VuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzYycKICA3NjggfCAgICBfbW1fbG9hZF9z aTEyOCgodm9pZCAqKShyeGRwICsgNikpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc3MToz MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICd1bmlvbiBpYXZmXzMyYl9y eF9mbGV4X2Rlc2MnCiAgNzcxIHwgICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDUp KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo3NzQ6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDc3NCB8ICAg IF9tbV9sb2FkX3NpMTI4KCh2b2lkICopKHJ4ZHAgKyA0KSk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19h dngyLmM6Nzc3OjMzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9u IGlhdmZfMzJiX3J4X2ZsZXhfZGVzYycKICA3NzcgfCAgICBfbW1fbG9hZF9zaTEyOCgodm9pZCAq KShyeGRwICsgMykpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc4MDozMzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICd1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2Mn CiAgNzgwIHwgICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDIpKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHhfdmVjX2F2eDIuYzo3ODM6MzM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDc4MyB8ICAgIF9tbV9sb2FkX3Np MTI4KCh2b2lkICopKHJ4ZHAgKyAxKSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6Nzg2OjMz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9uIGlhdmZfMzJiX3J4 X2ZsZXhfZGVzYycKICA3ODYgfCAgICBfbW1fbG9hZF9zaTEyOCgodm9pZCAqKShyeGRwICsgMCkp OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjgyNjoyMjogZXJyb3I6ICdJQVZGX1JYX0ZMRVhf REVTQ19QVFlQRV9NJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRp ZCB5b3UgbWVhbiAnSUFWRl9UWF9DVFhfREVTQ19TV1BFJz8KICA4MjYgfCAgICBfbW0yNTZfc2V0 MV9lcGkxNihJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgSUFWRl9UWF9DVFhfREVTQ19TV1BFCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 X3ZlY19hdngyLmM6OTA2OjEwOiBlcnJvcjogJ3N0cnVjdCBpYXZmX3J4X3F1ZXVlJyBoYXMgbm8g bWVtYmVyIG5hbWVkICd2c2knCiAgOTA2IHwgICBpZiAocnhxLT52c2ktPmFkYXB0ZXItPmZkaXJf ZW5hYmxlZCkgewogICAgICB8ICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4X3ZlY19hdngyLmM6OTYyOjEwOiBlcnJvcjogJ3N0cnVjdCBpYXZmX3J4X3F1ZXVlJyBoYXMg bm8gbWVtYmVyIG5hbWVkICd2c2knCiAgOTYyIHwgICBpZiAocnhxLT52c2ktPmFkYXB0ZXItPmV0 aF9kZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmCiAgICAgIHwgICAgICAgICAg Xn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5Njc6MjE6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNjJwogIDk2NyB8ICAgICAgKCh2b2lkICopKCZyeGRwWzddLndiLnN0YXR1c19lcnJvcjEpKTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX2F2eDIuYzo5NzE6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDk3MSB8ICAgICAgKCh2b2lkICopKCZy eGRwWzZdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5NzU6MjE6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj JwogIDk3NSB8ICAgICAgKCh2b2lkICopKCZyeGRwWzVdLndiLnN0YXR1c19lcnJvcjEpKTsKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX2F2eDIuYzo5Nzk6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAn dW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDk3OSB8ICAgICAgKCh2b2lkICopKCZyeGRw WzRdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5ODM6MjE6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwog IDk4MyB8ICAgICAgKCh2b2lkICopKCZyeGRwWzNdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVj X2F2eDIuYzo5ODc6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5p b24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDk4NyB8ICAgICAgKCh2b2lkICopKCZyeGRwWzJd LndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo5OTE6MjE6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDk5 MSB8ICAgICAgKCh2b2lkICopKCZyeGRwWzFdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2 eDIuYzo5OTU6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24g aWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDk5NSB8ICAgICAgKCh2b2lkICopKCZyeGRwWzBdLndi LnN0YXR1c19lcnJvcjEpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF4KWzgxMi8xNjQw XSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaGluaWNA c3RhL25ldF9oaW5pY19oaW5pY19wbWRfZXRoZGV2LmMubycuCls4MTMvMTY0MF0gQ29tcGlsaW5n IEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZm X2lhdmZfcnh0eC5jLm8nLgpGQUlMRUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2 ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4LmMubyAKZ2NjIC1JZHJpdmVycy9hNzE1MTgxQEB0bXBf cnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9uZXQvaWF2 ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9p YXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSWxpYi9saWJydGVf ZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4vIC1JY29uZmlnIC1JLi4vY29u ZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9j b21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2ZyZWVic2QvZWFsL2luY2x1ZGUgLUls aWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24gLUlsaWIvbGli cnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9lYWwgLUkuLi9saWIvbGlicnRlX2VhbCAt SWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX25l dCAtSS4uL2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9t YnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGliL2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xp YnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1JbGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xp Yi9saWJydGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kgLUku Li9kcml2ZXJzL2J1cy9wY2kvYnNkIC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3Bj aSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JZHJpdmVycy9jb21t b24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdh eXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJy b3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVw cmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1k ZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1z dHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1w cm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQt bWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFs aXplcnMgLURfR05VX1NPVVJDRSAtRF9fQlNEX1ZJU0lCTEUgLWZQSUMgLW1hcmNoPW5hdGl2ZSAt V25vLWZvcm1hdC10cnVuY2F0aW9uIC1Xbm8tc3RyaWN0LWFsaWFzaW5nIC1EQ0NfQVZYMl9TVVBQ T1JUIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtTUQgLU1RICdkcml2ZXJzL2E3MTUxODFAQHRt cF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eC5jLm8nIC1NRiAnZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHguYy5vLmQnIC1v ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0 eC5jLm8nIC1jIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmMKSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Mjc6Ci4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkICdwa2dfaW5mbycgaGFzIGluY29tcGxl dGUgdHlwZQogIDExMCB8ICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8qIHBh Y2thZ2UgaW5mbyAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn4K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Mjg6 Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4Lmg6NjI6Mjc6IGVycm9yOiAndW5pb24gaWF2 Zl8zMmJfcnhfZmxleF9kZXNjJyBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBu b3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBb LVdlcnJvcl0KICAgNjIgfCAjZGVmaW5lIGlhdmZfcnhfZmxleF9kZXNjIGlhdmZfMzJiX3J4X2Zs ZXhfZGVzYwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6NzE5OjIxOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8gJ2lhdmZfcnhfZmxleF9kZXNjJwogIDcxOSB8ICAgICAgdm9sYXRp bGUgdW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgKnJ4ZHApCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0 ZV9tYnVmL3J0ZV9tYnVmLmg6NDMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJ biBmdW5jdGlvbiAnaWF2Zl9mbGV4X3J4ZF90b192bGFuX3RjaSc6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6NzIxOjI3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZSAndm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogIDcy MSB8ICBpZiAocnRlX2xlX3RvX2NwdV82NChyeGRwLT53Yi5zdGF0dXNfZXJyb3IwKSAmCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbGlicnRlX2VhbC9jb21tb24v aW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODM6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8gJ3J0ZV9sZV90b19jcHVfNjQnCiAgIDgzIHwgI2RlZmluZSBydGVfbGVfdG9f Y3B1XzY0KHgpICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjcyMjo5OiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfTDJUQUcxUF9TJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiAnSUFWRl9SWF9ERVNDX1NUQVRVU19MMlRBRzFQX1NISUZUJz8K ICA3MjIgfCAgICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfTDJUQUcxUF9TKSkgewog ICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgIElBVkZfUlhfREVTQ19TVEFUVVNfTDJUQUcxUF9TSElGVAouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjcyMjo5OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyODoK Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eC5oOjYyOjI3OiBlcnJvcjogJ3VuaW9uIGlhdmZfMzJiX3J4X2Zs ZXhfZGVzYycgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAg IDYyIHwgI2RlZmluZSBpYXZmX3J4X2ZsZXhfZGVzYyBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjc5MToyNTogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvICdpYXZmX3J4X2ZsZXhfZGVzYycKICA3OTEgfCAgICAgICAgICB2b2xhdGlsZSB1bmlv biBpYXZmX3J4X2ZsZXhfZGVzYyAqcnhkcCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9t YnVmL3J0ZV9tYnVmLmg6NDMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBm dW5jdGlvbiAnaWF2Zl9yeGRfdG9fcGt0X2ZpZWxkcyc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4LmM6Nzk4OjM0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZSAndm9sYXRpbGUgc3RydWN0IGlhdmZfMzJiX3J4X2ZsZXhfZGVzY19jb21tc19vdnMn CiAgNzk4IHwgIHN0YXRfZXJyID0gcnRlX2xlX3RvX2NwdV8xNihkZXNjLT5zdGF0dXNfZXJyb3Iw KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbGli cnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9sZV90b19jcHVfMTYnCiAgIDgxIHwgI2Rl ZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2luY2x1ZGUvYXJjaC94ODYvcnRlX3NwaW5sb2NrLmg6MTUsCiAgICAgICAgICAgICAgICAgZnJv bSAuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfcndsb2NrLmg6 MTMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVk ZS9ydGVfZmJhcnJheS5oOjQwLAogICAgICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2luY2x1ZGUvcnRlX21lbW9yeS5oOjI1LAogICAgICAgICAgICAgICAgIGZyb20g Li4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX21lbXpvbmUuaDoyNywKICAgICAg ICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTY6Ci4uL2Ry aXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Nzk5OjMwOiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfUlNTX1ZBTElEX1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdJQVZGX1JYX0RFU0NfU1RBVFVTX1RTWU5WQUxJRF9TSElG VCc/CiAgNzk5IHwgIGlmIChsaWtlbHkoc3RhdF9lcnIgJiAoMSA8PCBJQVZGX1JYX0ZMRVhfREVT Q19TVEFUVVMwX1JTU19WQUxJRF9TKSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6Mzk6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ2xpa2VseScKICAgMjQgfCAjZGVmaW5lIGxpa2VseSh4 KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBm dW5jdGlvbiAnaWF2Zl9mbGV4X3J4ZF9lcnJvcl90b19wa3RfZmxhZ3MnOgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjgyNjozNTogZXJyb3I6ICdJQVZGX1JYX0ZMRVhfREVTQ19TVEFU VVMwX0wzTDRQX1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuICdJQVZGX1JYX0RFU0NfU1RBVFVTX0wzTDRQX1NISUZUJz8KICA4MjYgfCAgaWYg KHVubGlrZWx5KCEoc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9M M0w0UF9TKSkpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2lu Y2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8gJ3VubGlrZWx5JwogICAzOCB8ICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGlu X2V4cGVjdCghISh4KSwgMCkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxMjo5OiBlcnJvcjog J0lBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfSEJPX1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdJQVZGX1JYX0RFU0NfU1RBVFVTX0xBU1Qn PwogIDgxMiB8ICAoKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9IQk9fUykgfCBcCiAg ICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdsaWtlbHknCiAgIDI0IHwgI2RlZmluZSBsaWtlbHko eCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6 Mjc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnSUFWRl9SWF9GTEVYX0VSUjBfQklUUycK ICA4MjkgfCAgaWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMp KSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxMzo5OiBlcnJvcjogJ0lBVkZf UlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9JUEVfUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgODEzIHwgICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMw X1hTVU1fSVBFX1MpIHwgXAogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hf cHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdsaWtlbHkn CiAgIDI0IHwgI2RlZmluZSBsaWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn SUFWRl9SWF9GTEVYX0VSUjBfQklUUycKICA4MjkgfCAgaWYgKGxpa2VseSghKHN0YXRfZXJyMCAm IElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eC5jOjgxNDo5OiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9MNEVfUycg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgODE0IHwgICAoMSA8PCBJ QVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fTDRFX1MpIHwgXAogICAgICB8ICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvICdsaWtlbHknCiAgIDI0IHwgI2RlZmluZSBsaWtlbHkoeCkgX19idWls dGluX2V4cGVjdCghISh4KSwgMSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnSUFWRl9SWF9GTEVYX0VSUjBfQklUUycKICA4MjkgfCAg aWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxNTo5OiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfWFNVTV9FSVBFX1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIDgxNSB8ICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0VJ UEVfUykgfCBcCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGlj dGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdsaWtlbHknCiAgIDI0 IHwgI2RlZmluZSBsaWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnSUFWRl9S WF9GTEVYX0VSUjBfQklUUycKICA4MjkgfCAgaWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZf UlhfRkxFWF9FUlIwX0JJVFMpKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgx Njo5OiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9FVURQRV9TJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICA4MTYgfCAgICgxIDw8IElBVkZf UlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9FVURQRV9TKSB8IFwKICAgICAgfCAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvICdsaWtlbHknCiAgIDI0IHwgI2RlZmluZSBsaWtlbHkoeCkgX19idWls dGluX2V4cGVjdCghISh4KSwgMSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnSUFWRl9SWF9GTEVYX0VSUjBfQklUUycKICA4MjkgfCAg aWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxNzo5OiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9E RVNDX1NUQVRVUzBfUlhFX1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuICdJQVZGX1JYX0RFU0NfU1RBVFVTX0xBU1QnPwogIDgxNyB8ICAgKDEg PDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9SWEVfUykpCiAgICAgIHwgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNs dWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvICdsaWtlbHknCiAgIDI0IHwgI2RlZmluZSBsaWtlbHkoeCkgX19idWlsdGluX2V4cGVj dCghISh4KSwgMSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybyAnSUFWRl9SWF9GTEVYX0VSUjBfQklUUycKICA4MjkgfCAgaWYgKGxpa2Vs eSghKHN0YXRfZXJyMCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiAnaWF2Zl9yZWN2X3BrdHNfZmxleF9yeGQn OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjk5OToyNjogZXJyb3I6IHN0b3JhZ2Ug c2l6ZSBvZiAncnhkJyBpc24ndCBrbm93bgogIDk5OSB8ICB1bmlvbiBpYXZmX3J4X2ZsZXhfZGVz YyByeGQ7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjEwMTc6MTc6IGVycm9yOiAnc3RydWN0IGlhdmZfcnhfcXVldWUn IGhhcyBubyBtZW1iZXIgbmFtZWQgJ3ZzaScKIDEwMTcgfCAgcHR5cGVfdGJsID0gcnhxLT52c2kt PmFkYXB0ZXItPnB0eXBlX3RibDsKICAgICAgfCAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMDIxOjM5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZSAndm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNjJwogMTAyMSB8ICAgcnhfc3RhdF9lcnIwID0gcnRlX2xlX3RvX2NwdV8xNihyeGRwLT53Yi5z dGF0dXNfZXJyb3IwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRl b3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2xlX3RvX2Nw dV8xNicKICAgODEgfCAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6MTAyNDozMDogZXJyb3I6ICdJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MnIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdJQVZGX1JY X0RFU0NfU1RBVFVTX0xBU1QnPwogMTAyNCB8ICAgaWYgKCEocnhfc3RhdF9lcnIwICYgKDEgPDwg SUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9TKSkpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVAouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjEwNjM6NTogZXJyb3I6ICdJQVZGX1JYX0ZMWF9ERVND X1BLVF9MRU5fTScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAxMDYz IHwgICAgIElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9NKSAtIHJ4cS0+Y3JjX2xlbjsKICAgICAg fCAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHguYzoxMDczOjMyOiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9ERVNDX1BUWVBFX00nIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdJQVZGX1RY X0NUWF9ERVNDX1NXUEUnPwogMTA3MyB8ICAgcnhtLT5wYWNrZXRfdHlwZSA9IHB0eXBlX3RibFtJ QVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NICYKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJQVZGX1RYX0NUWF9ERVNDX1NXUEUKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzoxMDEwOjE4OiBlcnJvcjogdmFyaWFibGUgJ3B0eXBlX3RibCcgc2V0IGJ1 dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDEwMTAgfCAgY29u c3QgdWludDMyX3QgKnB0eXBlX3RibDsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjk5OToyNjogZXJyb3I6IHVudXNlZCB2 YXJpYWJsZSAncnhkJyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgOTk5IHwgIHVuaW9uIGlh dmZfcnhfZmxleF9kZXNjIHJ4ZDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uICdpYXZmX3JlY3Zf c2NhdHRlcmVkX3BrdHNfZmxleF9yeGQnOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5j OjExMTE6MjY6IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ3J4ZCcgaXNuJ3Qga25vd24KIDExMTEg fCAgdW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgcnhkOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICBefn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTI1OjMzOiBlcnJv cjogJ3N0cnVjdCBpYXZmX3J4X3F1ZXVlJyBoYXMgbm8gbWVtYmVyIG5hbWVkICd2c2knCiAxMTI1 IHwgIGNvbnN0IHVpbnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVf dGJsOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzLAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVy cy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTI5OjM5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZSAndm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNjJwogMTEyOSB8ICAgcnhfc3RhdF9lcnIwID0gcnRlX2xlX3RvX2NwdV8xNihyeGRwLT53Yi5z dGF0dXNfZXJyb3IwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRl b3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2xlX3RvX2Nw dV8xNicKICAgODEgfCAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6MTEzMjozMDogZXJyb3I6ICdJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MnIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdJQVZGX1JY X0RFU0NfU1RBVFVTX0xBU1QnPwogMTEzMiB8ICAgaWYgKCEocnhfc3RhdF9lcnIwICYgKDEgPDwg SUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9TKSkpCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElBVkZfUlhfREVTQ19TVEFUVVNfTEFTVAouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjExNzM6NTogZXJyb3I6ICdJQVZGX1JYX0ZMWF9ERVND X1BLVF9MRU5fTScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAxMTcz IHwgICAgIElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9NOwogICAgICB8ICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjExOTk6MzA6 IGVycm9yOiAnSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9FT0ZfUycgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ0lBVkZfUlhfREVTQ19TVEFU VVNfRU9GX1NISUZUJz8KIDExOTkgfCAgIGlmICghKHJ4X3N0YXRfZXJyMCAmICgxIDw8IElBVkZf UlhfRkxFWF9ERVNDX1NUQVRVUzBfRU9GX1MpKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSUFWRl9SWF9ERVNDX1NUQVRVU19FT0ZfU0hJRlQKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMjMxOjM4OiBlcnJvcjogJ0lBVkZfUlhfRkxF WF9ERVNDX1BUWVBFX00nIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuICdJQVZGX1RYX0NUWF9ERVNDX1NXUEUnPwogMTIzMSB8ICAgZmlyc3Rfc2Vn LT5wYWNrZXRfdHlwZSA9IHB0eXBlX3RibFtJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NICYKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ QVZGX1RYX0NUWF9ERVNDX1NXUEUKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTI1 OjE4OiBlcnJvcjogdmFyaWFibGUgJ3B0eXBlX3RibCcgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJv cj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIDExMjUgfCAgY29uc3QgdWludDMyX3QgKnB0eXBl X3RibCA9IHJ4cS0+dnNpLT5hZGFwdGVyLT5wdHlwZV90Ymw7CiAgICAgIHwgICAgICAgICAgICAg ICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTExOjI2OiBl cnJvcjogdW51c2VkIHZhcmlhYmxlICdyeGQnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KIDEx MTEgfCAgdW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgcnhkOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICBefn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rp b24gJ2lhdmZfcnhfc2Nhbl9od19yaW5nX2ZsZXhfcnhkJzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzoxNDgyOjMzOiBlcnJvcjogJ3N0cnVjdCBpYXZmX3J4X3F1ZXVlJyBoYXMgbm8g bWVtYmVyIG5hbWVkICd2c2knCiAxNDgyIHwgIGNvbnN0IHVpbnQzMl90ICpwdHlwZV90YmwgPSBy eHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9y dGVfbWJ1Zi5oOjQzLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNDg3OjM1OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAndm9sYXRpbGUg dW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogMTQ4NyB8ICBzdGF0X2VycjAgPSBydGVfbGVf dG9fY3B1XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjApOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9h cmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8gJ3J0ZV9sZV90b19jcHVfMTYnCiAgIDgxIHwgI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgp ICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjE0OTA6MjY6IGVycm9yOiAnSUFWRl9SWF9GTEVYX0RFU0NfU1RB VFVTMF9ERF9TJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiAnSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNUJz8KIDE0OTAgfCAgaWYgKCEoc3RhdF9l cnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9TKSkpCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1JYX0RFU0NfU1RBVFVTX0xBU1QKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNDk3OjEyOiBlcnJvcjogaW52YWxpZCB1c2Ug b2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzYycKIDE0OTcgfCAg ICAgICByeGRwICs9IElBVkZfTE9PS19BSEVBRCwgcnhlcCArPSBJQVZGX0xPT0tfQUhFQUQpIHsK ICAgICAgfCAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRl X21idWYvcnRlX21idWYuaDo0MywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUw MDozMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICd1bmlvbiBpYXZmXzMy Yl9yeF9mbGV4X2Rlc2MnCiAxNTAwIHwgICAgc1tqXSA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcFtq XS53Yi5zdGF0dXNfZXJyb3IwKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9y ZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9sZV90b19jcHVf MTYnCiAgIDgxIHwgI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5j OjE1MTc6MzY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2 Zl8zMmJfcnhfZmxleF9kZXNjJwogMTUxNyB8ICAgIHBrdF9sZW4gPSAocnRlX2xlX3RvX2NwdV8x NihyeGRwW2pdLndiLnBrdF9sZW4pICYKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRl X2J5dGVvcmRlci5oOjgxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfbGVf dG9fY3B1XzE2JwogICA4MSB8ICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3J4dHguYzoxNTE4OjU6IGVycm9yOiAnSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX00nIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogMTUxOCB8ICAgICBJQVZGX1JYX0ZM WF9ERVNDX1BLVF9MRU5fTSkgLSByeHEtPmNyY19sZW47CiAgICAgIHwgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUyMzozMjog ZXJyb3I6ICdJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9NJyB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnSUFWRl9UWF9DVFhfREVTQ19TV1BFJz8K IDE1MjMgfCAgICBtYi0+cGFja2V0X3R5cGUgPSBwdHlwZV90YmxbSUFWRl9SWF9GTEVYX0RFU0Nf UFRZUEVfTSAmCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SUFWRl9UWF9DVFhfREVTQ19TV1BFCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRl X21idWYvcnRlX21idWYuaDo0MywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUy NDoyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICd1bmlvbiBpYXZmXzMy Yl9yeF9mbGV4X2Rlc2MnCiAxNTI0IHwgICAgIHJ0ZV9sZV90b19jcHVfMTYocnhkcFtqXS53Yi5w dHlwZV9mbGV4X2ZsYWdzMCldOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4 MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2xlX3RvX2NwdV8xNicKICAg ODEgfCAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUyNToz OTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlICd1bmlvbiBpYXZmXzMyYl9y eF9mbGV4X2Rlc2MnCiAxNTI1IHwgICAgaWF2Zl9mbGV4X3J4ZF90b192bGFuX3RjaShtYiwgJnJ4 ZHBbal0pOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MjY6MzY6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSAndW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogMTUyNiB8 ICAgIGlhdmZfcnhkX3RvX3BrdF9maWVsZHMobWIsICZyeGRwW2pdKTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xp Yi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHguYzoxNTI3OjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9u IGlhdmZfMzJiX3J4X2ZsZXhfZGVzYycKIDE1MjcgfCAgICBzdGF0X2VycjAgPSBydGVfbGVfdG9f Y3B1XzE2KHJ4ZHBbal0ud2Iuc3RhdHVzX2Vycm9yMCk7CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9h cmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8gJ3J0ZV9sZV90b19jcHVfMTYnCiAgIDgxIHwgI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgp ICh4KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjE0ODI6MTg6IGVycm9yOiB2YXJpYWJsZSAncHR5cGVfdGJsJyBz ZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogMTQ4MiB8 ICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsID0gcnhxLT52c2ktPmFkYXB0ZXItPnB0eXBlX3Ri bDsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiAncnhfcmVjdl9wa3RzJzoKLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzoxNzM2OjIwOiBlcnJvcjogJ0lBVkZfUlhESURfQ09NTVNfT1ZTXzEn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogMTczNiB8ICBpZiAocnhx LT5yeGRpZCA9PSBJQVZGX1JYRElEX0NPTU1TX09WU18xKQogICAgICB8ICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6IEluIGZ1bmN0aW9uICdpYXZmX3NldF9yeF9mdW5jdGlvbic6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MjIwNTo1OiBlcnJvcjogJ1ZJUlRDSE5MX1ZGX09GRkxPQURfUlhfRkxF WF9ERVNDJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiAnVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTJz8KIDIyMDUgfCAgICAgVklSVENI TkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MpCiAgICAgIHwgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgIFZJUlRDSE5MX1ZGX09GRkxPQURfUkVRX1FVRVVF UwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDMs CiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3 OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiAnaWF2Zl9kZXZf cnhxX2NvdW50X2ZsZXhfcnhkJzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyMzM3 OjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAndm9s YXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNjJwogMjMzNyB8ICAgICAgICAgcnRlX2xl X3RvX2NwdV8xNihyeGRwLT53Yi5zdGF0dXNfZXJyb3IwKSAmCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNo L3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g J3J0ZV9sZV90b19jcHVfMTYnCiAgIDgxIHwgI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4 KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjIzMzg6MTU6IGVycm9yOiAnSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVT MF9ERF9TJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiAnSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNUJz8KIDIzMzggfCAgICAgICAgICgxIDw8IElB VkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUykpIHsKICAgICAgfCAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgSUFWRl9S WF9ERVNDX1NUQVRVU19MQVNUCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjM0NDo4 OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3VuaW9uIGlhdmZfMzJiX3J4 X2ZsZXhfZGVzYycKIDIzNDQgfCAgIHJ4ZHAgKz0gSUFWRl9SWFFfU0NBTl9JTlRFUlZBTDsKICAg ICAgfCAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rp b24gJ2lhdmZfZGV2X3J4cV9jb3VudCc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6 MjM2NjoyMDogZXJyb3I6ICdJQVZGX1JYRElEX0NPTU1TX09WU18xJyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKIDIzNjYgfCAgaWYgKHJ4cS0+cnhkaWQgPT0gSUFWRl9S WERJRF9DT01NU19PVlNfMSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9t YnVmLmg6NDMsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eC5jOjE3OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiAn aWF2Zl9kZXZfcnhfZGVzY19zdGF0dXNfZmxleF9yeGQnOgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eC5jOjI0MDU6Mjc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlICd2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2MnCiAyNDA1IHwg IGlmIChydGVfbGVfdG9fY3B1XzE2KHJ4ZHAtPndiLnN0YXR1c19lcnJvcjApICYKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNs dWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyAncnRlX2xlX3RvX2NwdV8xNicKICAgODEgfCAjZGVmaW5lIHJ0ZV9sZV90b19jcHVf MTYoeCkgKHgpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjQwNjo5OiBlcnJvcjogJ0lBVkZfUlhfRkxFWF9ERVND X1NUQVRVUzBfRERfUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4gJ0lBVkZfUlhfREVTQ19TVEFUVVNfTEFTVCc/CiAyNDA2IHwgICAoMSA8PCBJ QVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1MpKQogICAgICB8ICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICBJQVZGX1JYX0RFU0NfU1RBVFVT X0xBU1QKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rpb24gJ2lhdmZf ZGV2X3J4X2Rlc2Nfc3RhdHVzJzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyNDIw OjIwOiBlcnJvcjogJ0lBVkZfUlhESURfQ09NTVNfT1ZTXzEnIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogMjQyMCB8ICBpZiAocnhxLT5yeGRpZCA9PSBJQVZGX1JYRElE X0NPTU1TX09WU18xKQogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCls4MTQvMTY0 MF0gQ29tcGlsaW5nIEMgb2JqZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2hpbmlj QHN0YS9uZXRfaGluaWNfaGluaWNfcG1kX3R4LmMubycuCm5pbmphOiBidWlsZCBzdG9wcGVkOiBz dWJjb21tYW5kIGZhaWxlZAoKCgoKKk1lc29uIEJ1aWxkIEZhaWxlZCAjNjoKT1M6IFNVU0UxNS02 NApUYXJnZXQ6Li9idWlsZC1nY2Mtc3RhdGljCkZBSUxFRDogZHJpdmVycy9hNzE1MTgxQEB0bXBf cnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3ZjaG5sLmMubyAKZ2NjIC1JZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJp dmVycy9uZXQvaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9pYXZmLy4u Ly4uL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAt SWxpYi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4vIC1JY29u ZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2VhbC9p bmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9u IC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUkuLi9saWIvbGlicnRl X2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xp YnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGli L2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xp Yi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9v bCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfbWV0 ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9i dXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9s aWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1J ZHJpdmVycy9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLWZkaWFnbm9zdGlj cy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFs aWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2Fz dC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5 IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0 ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFy ZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2lu Zy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NVUFBP UlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBAdG1w X3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl92Y2hubC5jLm8nIC1NRiAnZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3ZjaG5sLmMuby5kJyAt byAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3Zj aG5sLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmMKSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjIyOjA6Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkIOKAmHBrZ19pbmZv4oCZIGhh cyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8q IHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9leGVjdXRl X3ZmX2NtZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6OTE6NzogZXJyb3I6 IOKAmFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9PUF9FVkVOVOKAmT8KICBj YXNlIFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GTzoKICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgogICAgICAgVklSVENITkxfT1BfRVZFTlQKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3Zj aG5sLmM6OTE6Nzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3ZjaG5sLmM6OTI6NzogZXJyb3I6IOKAmFZJUlRDSE5MX09QX1JYRElE4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFZJ UlRDSE5MX09QX1JTVkTigJk/CiAgY2FzZSBWSVJUQ0hOTF9PUF9SWERJRDoKICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+CiAgICAgICBWSVJUQ0hOTF9PUF9SU1ZECi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl92Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2dldF92Zl9yZXNvdXJjZeKAmToKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6MzQ0OjM6IGVycm9yOiDigJhWSVJUQ0hOTF9W Rl9PRkZMT0FEX1FVRVJZX0REUOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JTVkTigJk/CiAgIFZJ UlRDSE5MX1ZGX09GRkxPQURfUVVFUllfRERQIHwKICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgVklSVENITkxfVkZfT0ZGTE9BRF9SU1ZECi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl92Y2hubC5jOjM0NTozOiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RF U0PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1l YW4g4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVT4oCZPwogICBWSVJUQ0hOTF9WRl9P RkZMT0FEX1JYX0ZMRVhfREVTQzsKICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVTCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl92Y2hubC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2dldF9zdXBwb3J0ZWRfcnhkaWTigJk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjM4OToxMzogZXJyb3I6IOKAmFZJUlRDSE5M X09QX1JYRElE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmFZJUlRDSE5MX09QX1JTVkTigJk/CiAgYXJncy5vcHMgPSBWSVJUQ0hOTF9P UF9SWERJRDsKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICBWSVJU Q0hOTF9PUF9SU1ZECi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOiBJbiBmdW5jdGlv biDigJhpYXZmX2NvbmZpZ3VyZV9xdWV1ZXPigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92 Y2hubC5jOjYwMTo4OiBlcnJvcjog4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0Pi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g 4oCYVklSVENITkxfVkZfT0ZGTE9BRF9SRVFfUVVFVUVT4oCZPwogICAgICAgIFZJUlRDSE5MX1ZG X09GRkxPQURfUlhfRkxFWF9ERVNDICYmCiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVVRVMKSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYvaWF2Zl9w cm90b3R5cGUuaDo4OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZm L2lhdmYuaDo5LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZm X3ZjaG5sLmM6MjI6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYwMjozNDogZXJy b3I6IOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICAgICAgdmYtPnN1cHBvcnRlZF9yeGRpZCAmIEJJVChJQVZGX1JY RElEX0NPTU1TX09WU18xKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9pYXZmL2lhdmZfdHlwZS5oOjIzOjI1OiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmEJJVOKAmQogI2RlZmluZSBCSVQoYSkgKDFV TCA8PCAoYSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl92Y2hubC5jOjYwMzoxNTogZXJyb3I6IOKAmHN0cnVjdCB2aXJ0Y2hubF9yeHFfaW5mb+KA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHJ4ZGlk4oCZCiAgICAgdmNfcXAtPnJ4cS5yeGRpZCA9 IElBVkZfUlhESURfQ09NTVNfT1ZTXzE7CiAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjEzOjAsCiAgICAgICAgICAgICAgICAg ZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzoyMjoKLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3ZjaG5sLmM6NjA2OjMzOiBlcnJvcjog4oCYc3RydWN0IHZpcnRjaG5sX3J4cV9p bmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcnhkaWTigJkKICAgICAgICAgICJRdWV1ZVsl ZF0iLCB2Y19xcC0+cnhxLnJ4ZGlkLCBpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfbG9nLmg6MTc6MTY6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYUE1EX0RSVl9MT0dfUkFX4oCZCiAgIF9fZnVuY19fLCAjIyBhcmdz KQogICAgICAgICAgICAgICAgXn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2 MDU6NTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFBNRF9EUlZfTE9H4oCZCiAgICAg UE1EX0RSVl9MT0coTk9USUNFLCAicmVxdWVzdCBSWERJRCA9PSAlZCBpbiAiCiAgICAgXn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3ZjaG5sLmM6NjA4OjE1OiBlcnJvcjog4oCY c3RydWN0IHZpcnRjaG5sX3J4cV9pbmZv4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcnhkaWTi gJkKICAgICB2Y19xcC0+cnhxLnJ4ZGlkID0gSUFWRl9SWERJRF9MRUdBQ1lfMTsKICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2MDg6MjQ6IGVycm9yOiDi gJhJQVZGX1JYRElEX0xFR0FDWV8x4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHigJk/CiAgICAg dmNfcXAtPnJ4cS5yeGRpZCA9IElBVkZfUlhESURfTEVHQUNZXzE7CiAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgSUFWRl9S WERJRF9DT01NU19PVlNfMQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmLmg6MTM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl92Y2hubC5jOjIyOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfdmNobmwuYzo2MTE6MzM6 IGVycm9yOiDigJhzdHJ1Y3QgdmlydGNobmxfcnhxX2luZm/igJkgaGFzIG5vIG1lbWJlciBuYW1l ZCDigJhyeGRpZOKAmQogICAgICAgICAgIlF1ZXVlWyVkXSIsIHZjX3FwLT5yeHEucnhkaWQsIGkp OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9sb2cuaDoxNzoxNjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhQTURfRFJW X0xPR19SQVfigJkKICAgX19mdW5jX18sICMjIGFyZ3MpCiAgICAgICAgICAgICAgICBefn5+Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYxMDo1OiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYUE1EX0RSVl9MT0figJkKICAgICBQTURfRFJWX0xPRyhOT1RJQ0UsICJyZXF1 ZXN0IFJYRElEID09ICVkIGluICIKICAgICBefn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfdmNobmwuYzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9xdWVyeV9wYWNrYWdlX2luZm/igJk6 Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl92Y2hubC5jOjYzOToxMzogZXJyb3I6IOKAmFZJUlRD SE5MX09QX1BBQ0tBR0VfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9PUF9FVkVOVOKAmT8KICBhcmdzLm9wcyA9 IFZJUlRDSE5MX09QX1BBQ0tBR0VfSU5GTzsKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgICAgICAgICAgVklSVENITkxfT1BfRVZFTlQKLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3ZjaG5sLmM6NjUzOjEzOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhz aXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCB2aXJ0Y2hubF9wa2dfaW5mb+KA mQogICAgICBzaXplb2Yoc3RydWN0IHZpcnRjaG5sX3BrZ19pbmZvKSk7CiAgICAgICAgICAgICBe fn5+fn4KWzk5OS8yMTUxXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZlcnMvYTcxNTE4MUBAdG1w X3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4LmMubycuCkZBSUxFRDogZHJpdmVy cy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHguYy5vIApn Y2MgLUlkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhIC1JZHJpdmVycyAtSS4u L2RyaXZlcnMgLUlkcml2ZXJzL25ldC9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2ZiAtSWRyaXZl cnMvbmV0L2lhdmYvLi4vLi4vY29tbW9uL2lhdmYgLUkuLi9kcml2ZXJzL25ldC9pYXZmLy4uLy4u L2NvbW1vbi9pYXZmIC1JbGliL2xpYnJ0ZV9ldGhkZXYgLUkuLi9saWIvbGlicnRlX2V0aGRldiAt SS4gLUkuLi8gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5j bHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlIC1JLi4vbGliL2xpYnJ0ZV9l YWwvbGludXgvZWFsL2luY2x1ZGUgLUlsaWIvbGlicnRlX2VhbC9jb21tb24gLUkuLi9saWIvbGli cnRlX2VhbC9jb21tb24gLUlsaWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAt SS4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2IC1JbGliL2xpYnJ0ZV9l YWwgLUkuLi9saWIvbGlicnRlX2VhbCAtSWxpYi9saWJydGVfa3ZhcmdzIC1JLi4vbGliL2xpYnJ0 ZV9rdmFyZ3MgLUlsaWIvbGlicnRlX25ldCAtSS4uL2xpYi9saWJydGVfbmV0IC1JbGliL2xpYnJ0 ZV9tYnVmIC1JLi4vbGliL2xpYnJ0ZV9tYnVmIC1JbGliL2xpYnJ0ZV9tZW1wb29sIC1JLi4vbGli L2xpYnJ0ZV9tZW1wb29sIC1JbGliL2xpYnJ0ZV9yaW5nIC1JLi4vbGliL2xpYnJ0ZV9yaW5nIC1J bGliL2xpYnJ0ZV9tZXRlciAtSS4uL2xpYi9saWJydGVfbWV0ZXIgLUlkcml2ZXJzL2J1cy9wY2kg LUkuLi9kcml2ZXJzL2J1cy9wY2kgLUkuLi9kcml2ZXJzL2J1cy9wY2kvbGludXggLUlsaWIvbGli cnRlX3BjaSAtSS4uL2xpYi9saWJydGVfcGNpIC1JZHJpdmVycy9idXMvdmRldiAtSS4uL2RyaXZl cnMvYnVzL3ZkZXYgLUlkcml2ZXJzL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9jb21tb24vaWF2 ZiAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtcGlwZSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0 IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5o IC1XZXh0cmEgLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdm b3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBl cyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRo IC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmlu Z3MgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1t YXJjaD1uYXRpdmUgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtV25vLXN0cmljdC1hbGlhc2luZyAt RENDX0FWWDJfU1VQUE9SVCAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLU1EIC1NUSAnZHJpdmVy cy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRfaWF2Zl9pYXZmX3J4dHguYy5vJyAt TUYgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9y eHR4LmMuby5kJyAtbyAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YS9uZXRf aWF2Zl9pYXZmX3J4dHguYy5vJyAtYyAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jCklu IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjI3OjA6 Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkIOKAmHBrZ19p bmZv4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtn X2luZm87IC8qIHBhY2thZ2UgaW5mbyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHgu YzoyODowOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5oOjYyOjI3OiBlcnJvcjog4oCY dW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRl Y2xhcmF0aW9uIFstV2Vycm9yXQogI2RlZmluZSBpYXZmX3J4X2ZsZXhfZGVzYyBpYXZmXzMyYl9y eF9mbGV4X2Rlc2MKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9p YXZmL2lhdmZfcnh0eC5jOjcxOToyMTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGlh dmZfcnhfZmxleF9kZXNj4oCZCiAgICAgIHZvbGF0aWxlIHVuaW9uIGlhdmZfcnhfZmxleF9kZXNj ICpyeGRwKQogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAg ICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfZmxleF9yeGRfdG9f dmxhbl90Y2nigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6NzIxOjI3OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1 bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICBpZiAocnRlX2xlX3RvX2NwdV82NChyeGRw LT53Yi5zdGF0dXNfZXJyb3IwKSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgzOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfNjTigJkKICNk ZWZpbmUgcnRlX2xlX3RvX2NwdV82NCh4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjcyMjo5OiBlcnJvcjog4oCYSUFW Rl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9MMlRBRzFQX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19M MlRBRzFQX1NISUZU4oCZPwogICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0wyVEFH MVBfUykpIHsKICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAg ICAgICAgSUFWRl9SWF9ERVNDX1NUQVRVU19MMlRBRzFQX1NISUZUCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6NzIyOjk6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjI4OjA6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguaDo2MjoyNzogZXJyb3I6IOKAmHVuaW9uIGlhdmZfMzJiX3J4X2Zs ZXhfZGVzY+KAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlz aWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0K ICNkZWZpbmUgaWF2Zl9yeF9mbGV4X2Rlc2MgaWF2Zl8zMmJfcnhfZmxleF9kZXNjCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo3OTE6 MjU6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhpYXZmX3J4X2ZsZXhfZGVzY+KAmQog ICAgICAgICAgdm9sYXRpbGUgdW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgKnJ4ZHApCiAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAgICAgICBmcm9t IC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfcnhkX3RvX3BrdF9maWVsZHPigJk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6Nzk4OjM0OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSBzdHJ1Y3QgaWF2Zl8zMmJf cnhfZmxleF9kZXNjX2NvbW1zX292c+KAmQogIHN0YXRfZXJyID0gcnRlX2xlX3RvX2NwdV8xNihk ZXNjLT5zdGF0dXNfZXJyb3IwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5o OjgxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbi gJkKICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2luY2x1ZGUvYXJjaC94ODYvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBm cm9tIC4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9yd2xvY2su aDoxMywKICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNs dWRlL3J0ZV9mYmFycmF5Lmg6NDAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9saWIvbGlicnRl X2VhbC9jb21tb24vaW5jbHVkZS9ydGVfbWVtb3J5Lmg6MjUsCiAgICAgICAgICAgICAgICAgZnJv bSAuLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfbWVtem9uZS5oOjI3LAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNjoKLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo3OTk6MzA6IGVycm9yOiDigJhJQVZGX1JYX0ZM RVhfREVTQ19TVEFUVVMwX1JTU19WQUxJRF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNfVFNZTlZB TElEX1NISUZU4oCZPwogIGlmIChsaWtlbHkoc3RhdF9lcnIgJiAoMSA8PCBJQVZGX1JYX0ZMRVhf REVTQ19TVEFUVVMwX1JTU19WQUxJRF9TKSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rp b24uaDoyNDozOTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhsaWtlbHnigJkKICNk ZWZpbmUgbGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHgu YzogSW4gZnVuY3Rpb24g4oCYaWF2Zl9mbGV4X3J4ZF9lcnJvcl90b19wa3RfZmxhZ3PigJk6Ci4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI2OjM1OiBlcnJvcjog4oCYSUFWRl9SWF9G TEVYX0RFU0NfU1RBVFVTMF9MM0w0UF9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19TVEFUVVNfTDNMNFBfU0hJ RlTigJk/CiAgaWYgKHVubGlrZWx5KCEoc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RF U0NfU1RBVFVTMF9MM0w0UF9TKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9u Lmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNk ZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmM6ODEyOjk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0hCT19T4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfTDNMNFBfU+KAmT8KICAoKDEgPDwgSUFWRl9SWF9G TEVYX0RFU0NfU1RBVFVTMF9IQk9fUykgfCBcCiAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6Mzk6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYbGlrZWx54oCZCiAjZGVmaW5lIGxpa2VseSh4KSBfX2J1aWx0 aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3OiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KAmQogIGlmIChsaWtlbHko IShzdGF0X2VycjAgJiBJQVZGX1JYX0ZMRVhfRVJSMF9CSVRTKSkpIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eC5jOjgxMzo5OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VN X0lQRV9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlv dSBtZWFuIOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfTDNMNFBfU+KAmT8KICAgKDEgPDwg SUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0lQRV9TKSB8IFwKICAgICAgICAgXgouLi9s aWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDoyNDoz OTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhsaWtlbHnigJkKICNkZWZpbmUgbGlr ZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhJQVZGX1JYX0ZMRVhfRVJSMF9CSVRT4oCZ CiAgaWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewog ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODE0Ojk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVT Q19TVEFUVVMwX1hTVU1fTDRFX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9YU1VNX0lQ RV9T4oCZPwogICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fTDRFX1MpIHwg XAogICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL3J0ZV9icmFuY2hf cHJlZGljdGlvbi5oOjI0OjM5OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmGxpa2Vs eeKAmQogI2RlZmluZSBsaWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eC5jOjgyOToyNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmElBVkZfUlhf RkxFWF9FUlIwX0JJVFPigJkKICBpZiAobGlrZWx5KCEoc3RhdF9lcnIwICYgSUFWRl9SWF9GTEVY X0VSUjBfQklUUykpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4MTU6OTogZXJyb3I6IOKA mElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfWFNVTV9FSVBFX1PigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9GTEVYX0RF U0NfU1RBVFVTMF9YU1VNX0lQRV9T4oCZPwogICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFU VVMwX1hTVU1fRUlQRV9TKSB8IFwKICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9jb21tb24v aW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDoyNDozOTogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhsaWtlbHnigJkKICNkZWZpbmUgbGlrZWx5KHgpIF9fYnVpbHRpbl9leHBl Y3QoISEoeCksIDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyDigJhJQVZGX1JYX0ZMRVhfRVJSMF9CSVRT4oCZCiAgaWYgKGxpa2VseSghKHN0YXRf ZXJyMCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewogICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4 LmM6ODE2Ojk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fRVVEUEVf U+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVh biDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fRUlQRV9T4oCZPwogICAoMSA8PCBJ QVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1hTVU1fRVVEUEVfUykgfCBcCiAgICAgICAgIF4KLi4v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6MjQ6 Mzk6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYbGlrZWx54oCZCiAjZGVmaW5lIGxp a2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAxKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6ODI5OjI3 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSUFWRl9SWF9GTEVYX0VSUjBfQklUU+KA mQogIGlmIChsaWtlbHkoIShzdGF0X2VycjAgJiBJQVZGX1JYX0ZMRVhfRVJSMF9CSVRTKSkpIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjgxNzo5OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RF U0NfU1RBVFVTMF9SWEVfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0hCT19T4oCZPwog ICAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX1JYRV9TKSkKICAgICAgICAgXgouLi9s aWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDoyNDoz OTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhsaWtlbHnigJkKICNkZWZpbmUgbGlr ZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo4Mjk6Mjc6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhJQVZGX1JYX0ZMRVhfRVJSMF9CSVRT4oCZ CiAgaWYgKGxpa2VseSghKHN0YXRfZXJyMCAmIElBVkZfUlhfRkxFWF9FUlIwX0JJVFMpKSkgewog ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfcmVjdl9wa3RzX2Zs ZXhfcnhk4oCZOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjk5OToyNjogZXJyb3I6 IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyeGTigJkgaXNu4oCZdCBrbm93bgogIHVuaW9uIGlhdmZfcnhf ZmxleF9kZXNjIHJ4ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzoxMDE3OjE3OiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhfcXVl dWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh2c2nigJkKICBwdHlwZV90YmwgPSByeHEtPnZz aS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAgICAg ICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzoxMDIxOjM5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZSDigJh2b2xhdGlsZSB1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rl c2PigJkKICAgcnhfc3RhdF9lcnIwID0gcnRlX2xlX3RvX2NwdV8xNihyeGRwLT53Yi5zdGF0dXNf ZXJyb3IwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQogI2Rl ZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTAyNDozMDogZXJyb3I6IOKAmElB VkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0RFU0NfU1RBVFVTX0xBU1Ti gJk/CiAgIGlmICghKHJ4X3N0YXRfZXJyMCAmICgxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRV UzBfRERfUykpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFWRl9SWF9ERVND X1NUQVRVU19MQVNUCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTA2Mzo1OiBlcnJv cjog4oCYSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9UWF9DVFhfREVTQ19UU1lO 4oCZPwogICAgIElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9NKSAtIHJ4cS0+Y3JjX2xlbjsKICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgIElBVkZfVFhfQ1RYX0RFU0NfVFNZTgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjEwNzM6MzI6IGVycm9yOiDigJhJQVZGX1JY X0ZMRVhfREVTQ19QVFlQRV9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9N4oCZPwogICBy eG0tPnBhY2tldF90eXBlID0gcHR5cGVfdGJsW0lBVkZfUlhfRkxFWF9ERVNDX1BUWVBFX00gJgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5f TQouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjEwMTA6MTg6IGVycm9yOiB2YXJpYWJs ZSDigJhwdHlwZV90YmzigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNl dC12YXJpYWJsZV0KICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsOwogICAgICAgICAgICAgICAg ICBefn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzo5OTk6MjY6IGVycm9y OiB1bnVzZWQgdmFyaWFibGUg4oCYcnhk4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICB1 bmlvbiBpYXZmX3J4X2ZsZXhfZGVzYyByeGQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfcmVj dl9zY2F0dGVyZWRfcGt0c19mbGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHguYzoxMTExOjI2OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmHJ4ZOKAmSBpc27igJl0IGtu b3duCiAgdW5pb24gaWF2Zl9yeF9mbGV4X2Rlc2MgcnhkOwogICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjExMjU6MzM6IGVycm9yOiDi gJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQog IGNvbnN0IHVpbnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJs OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAgICAgICBm cm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MTEyOTozOTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUg4oCYdm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZ CiAgIHJ4X3N0YXRfZXJyMCA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iuc3RhdHVzX2Vycm9y MCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgxOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNkZWZpbmUg cnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjExMzI6MzA6IGVycm9yOiDigJhJQVZGX1JY X0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNU4oCZPwog ICBpZiAoIShyeF9zdGF0X2VycjAgJiAoMSA8PCBJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0RE X1MpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBVkZfUlhfREVTQ19TVEFU VVNfTEFTVAouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjExNzM6NTogZXJyb3I6IOKA mElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfVFhfQ1RYX0RFU0NfVFNZTuKAmT8K ICAgICBJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTTsKICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgIElBVkZfVFhfQ1RYX0RFU0NfVFNZTgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eC5jOjExOTk6MzA6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0VP Rl9T4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBt ZWFuIOKAmElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KAmT8KICAgaWYgKCEocnhfc3Rh dF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9FT0ZfUykpKSB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9E RF9TCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTIzMTozODogZXJyb3I6IOKAmElB VkZfUlhfRkxFWF9ERVNDX1BUWVBFX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9SWF9GTFhfREVTQ19QS1RfTEVOX03igJk/ CiAgIGZpcnN0X3NlZy0+cGFja2V0X3R5cGUgPSBwdHlwZV90YmxbSUFWRl9SWF9GTEVYX0RFU0Nf UFRZUEVfTSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElB VkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9NCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6 MTEyNToxODogZXJyb3I6IHZhcmlhYmxlIOKAmHB0eXBlX3RibOKAmSBzZXQgYnV0IG5vdCB1c2Vk IFstV2Vycm9yPXVudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogIGNvbnN0IHVpbnQzMl90ICpwdHlw ZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAgICAgICAgICAgICAgICBe fn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxMTExOjI2OiBlcnJvcjog dW51c2VkIHZhcmlhYmxlIOKAmHJ4ZOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgdW5p b24gaWF2Zl9yeF9mbGV4X2Rlc2MgcnhkOwogICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3J4X3Nj YW5faHdfcmluZ19mbGV4X3J4ZOKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzox NDgyOjMzOiBlcnJvcjog4oCYc3RydWN0IGlhdmZfcnhfcXVldWXigJkgaGFzIG5vIG1lbWJlciBu YW1lZCDigJh2c2nigJkKICBjb25zdCB1aW50MzJfdCAqcHR5cGVfdGJsID0gcnhxLT52c2ktPmFk YXB0ZXItPnB0eXBlX3RibDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzOjAsCiAg ICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3Ogou Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE0ODc6MzU6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJi X3J4X2ZsZXhfZGVzY+KAmQogIHN0YXRfZXJyMCA9IHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iu c3RhdHVzX2Vycm9yMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9s aWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQog I2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTQ5MDoyNjogZXJyb3I6IOKA mElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhJQVZGX1JYX0RFU0NfU1RBVFVTX0xB U1TigJk/CiAgaWYgKCEoc3RhdF9lcnIwICYgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVT MF9ERF9TKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAgICAgSUFWRl9SWF9ERVNDX1NUQVRVU19M QVNUCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTQ5NzoxMjogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KA mQogICAgICAgcnhkcCArPSBJQVZGX0xPT0tfQUhFQUQsIHJ4ZXAgKz0gSUFWRl9MT09LX0FIRUFE KSB7CiAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21i dWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoxNTAw OjMyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8z MmJfcnhfZmxleF9kZXNj4oCZCiAgICBzW2pdID0gcnRlX2xlX3RvX2NwdV8xNihyeGRwW2pdLndi LnN0YXR1c19lcnJvcjApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjgxOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNk ZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MTc6MzY6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2Pi gJkKICAgIHBrdF9sZW4gPSAocnRlX2xlX3RvX2NwdV8xNihyeGRwW2pdLndiLnBrdF9sZW4pICYK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvbGlicnRlX2VhbC9j b21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQogI2RlZmluZSBydGVfbGVf dG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUxODo1OiBlcnJvcjog4oCYSUFWRl9SWF9GTFhfREVT Q19QS1RfTEVOX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBk aWQgeW91IG1lYW4g4oCYSUFWRl9UWF9DVFhfREVTQ19UU1lO4oCZPwogICAgIElBVkZfUlhfRkxY X0RFU0NfUEtUX0xFTl9NKSAtIHJ4cS0+Y3JjX2xlbjsKICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgogICAgIElBVkZfVFhfQ1RYX0RFU0NfVFNZTgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eC5jOjE1MjM6MzI6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9N4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKA mElBVkZfUlhfRkxYX0RFU0NfUEtUX0xFTl9N4oCZPwogICAgbWItPnBhY2tldF90eXBlID0gcHR5 cGVfdGJsW0lBVkZfUlhfRkxFWF9ERVNDX1BUWVBFX00gJgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJQVZGX1JYX0ZMWF9ERVNDX1BLVF9MRU5fTQpJbiBmaWxlIGluY2x1ZGVkIGZy b20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAgICAgICAgICAgICAgICBm cm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MTUyNDoyNjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgIHJ0ZV9sZV90b19jcHVf MTYocnhkcFtqXS53Yi5wdHlwZV9mbGV4X2ZsYWdzMCldOwogICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVv cmRlci5oOjgxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19j cHVfMTbigJkKICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE1MjU6Mzk6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9y eF9mbGV4X2Rlc2PigJkKICAgIGlhdmZfZmxleF9yeGRfdG9fdmxhbl90Y2kobWIsICZyeGRwW2pd KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eC5jOjE1MjY6MzY6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgIGlhdmZfcnhkX3Rv X3BrdF9maWVsZHMobWIsICZyeGRwW2pdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVm Lmg6NDM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9y eHR4LmM6MTc6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTUyNzozNzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhf ZGVzY+KAmQogICAgc3RhdF9lcnIwID0gcnRlX2xlX3RvX2NwdV8xNihyeGRwW2pdLndiLnN0YXR1 c19lcnJvcjApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4Ni9ydGVfYnl0ZW9yZGVyLmg6ODE6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQogI2Rl ZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MTQ4MjoxODogZXJyb3I6IHZhcmlh YmxlIOKAmHB0eXBlX3RibOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1idXQt c2V0LXZhcmlhYmxlXQogIGNvbnN0IHVpbnQzMl90ICpwdHlwZV90YmwgPSByeHEtPnZzaS0+YWRh cHRlci0+cHR5cGVfdGJsOwogICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVuY3Rpb24g4oCYcnhfcmVjdl9wa3Rz4oCZOgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3MzY6MjA6IGVycm9yOiDigJhJQVZGX1JYRElE X0NPTU1TX09WU18x4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog IGlmIChyeHEtPnJ4ZGlkID09IElBVkZfUlhESURfQ09NTVNfT1ZTXzEpCiAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3NldF9yeF9mdW5jdGlvbuKAmToKLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHguYzoyMjA1OjU6IGVycm9yOiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FE X1JYX0ZMRVhfREVTQ+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7 IGRpZCB5b3UgbWVhbiDigJhWSVJUQ0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVVRVPigJk/CiAgICAg VklSVENITkxfVkZfT0ZGTE9BRF9SWF9GTEVYX0RFU0MpCiAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICBWSVJUQ0hOTF9WRl9PRkZMT0FEX1JFUV9RVUVVRVMKSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5oOjQzOjAsCiAgICAg ICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjE3OgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX2Rldl9yeHFf Y291bnRfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjMzNzoz MDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9s YXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICAgICAgIHJ0ZV9sZV90b19j cHVfMTYocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCkgJgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2FyY2gveDg2L3J0ZV9ieXRl b3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9f Y3B1XzE24oCZCiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzoyMzM4OjE1 OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVT Q19TVEFUVVNfTEFTVOKAmT8KICAgICAgICAgKDEgPDwgSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVT MF9ERF9TKSkgewogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K ICAgICAgICAgICAgICAgSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNUCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MjM0NDo4OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgIHJ4ZHAgKz0gSUFWRl9SWFFf U0NBTl9JTlRFUlZBTDsKICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5j OiBJbiBmdW5jdGlvbiDigJhpYXZmX2Rldl9yeHFfY291bnTigJk6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6MjM2NjoyMDogZXJyb3I6IOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHJ4cS0+cnhk aWQgPT0gSUFWRl9SWERJRF9DT01NU19PVlNfMSkKICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYv cnRlX21idWYuaDo0MzowLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzoxNzoKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHguYzogSW4gZnVu Y3Rpb24g4oCYaWF2Zl9kZXZfcnhfZGVzY19zdGF0dXNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMv bmV0L2lhdmYvaWF2Zl9yeHR4LmM6MjQwNToyNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYdm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgaWYgKHJ0ZV9sZV90b19jcHVfMTYocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCkgJgog ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNs dWRlL2FyY2gveDg2L3J0ZV9ieXRlb3JkZXIuaDo4MTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYo eCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2 Zi9pYXZmX3J4dHguYzoyNDA2Ojk6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMw X0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNU4oCZPwogICAoMSA8PCBJQVZGX1JYX0ZM RVhfREVTQ19TVEFUVVMwX0REX1MpKQogICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgICAgSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNUCi4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4LmM6IEluIGZ1bmN0aW9uIOKAmGlhdmZfZGV2X3J4X2Rlc2Nfc3RhdHVz4oCZ OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eC5jOjI0MjA6MjA6IGVycm9yOiDigJhJQVZG X1JYRElEX0NPTU1TX09WU18x4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIGlmIChyeHEtPnJ4ZGlkID09IElBVkZfUlhESURfQ09NTVNfT1ZTXzEpCiAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwpbMTAwMC8yMTUxXSBDb21waWxpbmcgQyBvYmplY3QgJ2RyaXZl cnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19z c2UuYy5vJy4KRkFJTEVEOiBkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25l dF9pYXZmX2lhdmZfcnh0eF92ZWNfc3NlLmMubyAKZ2NjIC1JZHJpdmVycy9hNzE1MTgxQEB0bXBf cnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9uZXQvaWF2 ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9pYXZmLy4uLy4uL2NvbW1vbi9p YXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAtSWxpYi9saWJydGVf ZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4vIC1JY29uZmlnIC1JLi4vY29u ZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIvbGlicnRlX2VhbC9j b21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2VhbC9pbmNsdWRlIC1JbGli L2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUkuLi9saWIvbGlicnRlX2VhbC9jb21tb24v aW5jbHVkZS9hcmNoL3g4NiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xpYnJ0ZV9lYWwgLUls aWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGliL2xpYnJ0ZV9uZXQg LUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xpYi9saWJydGVfbWJ1 ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9vbCAtSWxpYi9saWJy dGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfbWV0ZXIgLUkuLi9saWIv bGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpIC1JLi4v ZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9saWIvbGlicnRlX3Bj aSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1JZHJpdmVycy9jb21t b24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdh eXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXJy b3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2FzdC1xdWFsIC1XZGVw cmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1k ZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1z dHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1w cm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0 aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NVUFBPUlQgLURBTExPV19F WFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2 ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vJyAtTUYgJ2RyaXZlcnMvYTcxNTE4 MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19zc2UuYy5vLmQn IC1vICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZf cnh0eF92ZWNfc3NlLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3Nz ZS5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92 ZWNfc3NlLmM6OTowOgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmYuaDoxMTA6Mjc6IGVycm9yOiBm aWVsZCDigJhwa2dfaW5mb+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHZpcnRjaG5s X3BrZ19pbmZvIHBrZ19pbmZvOyAvKiBwYWNrYWdlIGluZm8gKi8KICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5j OiBJbiBmdW5jdGlvbiDigJhmbGV4X2Rlc2NfdG9fb2xmbGFnc1924oCZOgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6Mjg5Ojk6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9y eF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogIGlmIChyeHEtPnZzaS0+ YWRhcHRlci0+ZmRpcl9lbmFibGVkKSB7CiAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2lhdmYv aWF2Zl9yeHR4X3ZlY19zc2UuYzogSW4gZnVuY3Rpb24g4oCYZmxleF9kZXNjX3RvX3B0eXBlX3bi gJk6Ci4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzozODA6NDY6IGVycm9y OiDigJhJQVZGX1JYX0ZMRVhfREVTQ19QVFlQRV9N4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfVFhfQ1RYX0RFU0NfU1dQReKA mT8KICBjb25zdCBfX20xMjhpIHB0eXBlX21hc2sgPSBfbW1fc2V0X2VwaTE2KDAsIElBVkZfUlhf RkxFWF9ERVNDX1BUWVBFX00sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJQVZGX1RYX0NUWF9ERVNDX1NXUEUKLi4vZHJpdmVycy9u ZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjM4MDo0Njogbm90ZTogZWFjaCB1bmRlY2xhcmVk IGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFw cGVhcnMgaW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOiBJbiBmdW5j dGlvbiDigJhfcmVjdl9yYXdfcGt0c192ZWNfZmxleF9yeGTigJk6Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4X3ZlY19zc2UuYzo2NTg6MzM6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9x dWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogIGNvbnN0IHVpbnQzMl90ICpw dHlwZV90YmwgPSByeHEtPnZzaS0+YWRhcHRlci0+cHR5cGVfdGJsOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3Nl LmM6NzEzOjQ5OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24g aWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgcnhkcCA9ICh1bmlvbiBpYXZmX3J4X2ZsZXhfZGVz YyAqKXJ4cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFpbDsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX3NzZS5jOjcyNjoxMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYdm9sYXRpbGUgdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgaWYg KCEocnhkcC0+d2Iuc3RhdHVzX2Vycm9yMCAmCiAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9saWIvbGlicnRlX21idWYvcnRlX21idWYuaDo0MzowLAogICAgICAgICAgICAg ICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9uZXQvcnRlX2V0aGVyLmg6MjMsCiAgICAgICAgICAgICAg ICAgZnJvbSAuLi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2Lmg6MTU5LAogICAgICAgICAg ICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldl9kcml2ZXIuaDoxOCwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19z c2UuYzo2OgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzI3OjMwOiBl cnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9ERF9T4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmElBVkZfUlhfREVTQ19T VEFUVVNfTEFTVOKAmT8KICAgICAgICBydGVfY3B1X3RvX2xlXzMyKDEgPDwgSUFWRl9SWF9GTEVY X0RFU0NfU1RBVFVTMF9ERF9TKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRlX2J5dGVvcmRlci5oOjc0 OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkK ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6NzU5OjEyOiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhf ZmxleF9kZXNj4oCZCiAgICAgICByeGRwICs9IElBVkZfVlBNRF9ERVNDU19QRVJfTE9PUCkgewog ICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6Nzcz OjQ3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8z MmJfcnhfZmxleF9kZXNj4oCZCiAgIGRlc2NzWzNdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhp ICopKHJ4ZHAgKyAzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6Nzg0OjQ3OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhf ZmxleF9kZXNj4oCZCiAgIGRlc2NzWzJdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhpICopKHJ4 ZHAgKyAyKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6Nzg3OjQ3OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9k ZXNj4oCZCiAgIGRlc2NzWzFdID0gX21tX2xvYWR1X3NpMTI4KChfX20xMjhpICopKHJ4ZHAgKyAx KSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODMzOjEwOiBlcnJvcjog4oCYc3Ry dWN0IGlhdmZfcnhfcXVldWXigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh2c2nigJkKICAgaWYg KHJ4cS0+dnNpLT5hZGFwdGVyLT5ldGhfZGV2LT5kYXRhLT5kZXZfY29uZi5yeG1vZGUub2ZmbG9h ZHMgJgogICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5j OjgzODoyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlh dmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBbM10ud2Iuc3RhdHVz X2Vycm9yMSkpOwogICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2 Zl9yeHR4X3ZlY19zc2UuYzo4NDI6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgICAgKCh2b2lkICopKCZy eGRwWzJdLndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmM6ODQ2OjIxOiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAg ICAgICgodm9pZCAqKSgmcnhkcFsxXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3NzZS5jOjg1MDoyMTog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4 X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQgKikoJnJ4ZHBbMF0ud2Iuc3RhdHVzX2Vycm9yMSkp OwogICAgICAgICAgICAgICAgICAgICBeClsxMDAxLzIxNTFdIEdlbmVyYXRpbmcgcnRlX3BtZF9o aW5pYy5leHBfY2hrIHdpdGggYSBtZXNvbl9leGUucHkgY3VzdG9tIGNvbW1hbmQuClsxMDAyLzIx NTFdIENvbXBpbGluZyBDIG9iamVjdCAnZHJpdmVycy9hNzE1MTgxQEB0bXBfcnRlX3BtZF9obnMz QHN0YS9uZXRfaG5zM19obnMzX3J4dHguYy5vJy4KWzEwMDMvMjE1MV0gQ29tcGlsaW5nIEMgb2Jq ZWN0ICdkcml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZf cnh0eF92ZWNfYXZ4Mi5jLm8nLgpGQUlMRUQ6IGRyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRf aWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19hdngyLmMubyAKZ2NjIC1JZHJpdmVycy9h NzE1MTgxQEB0bXBfcnRlX3BtZF9pYXZmQHN0YSAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJp dmVycy9uZXQvaWF2ZiAtSS4uL2RyaXZlcnMvbmV0L2lhdmYgLUlkcml2ZXJzL25ldC9pYXZmLy4u Ly4uL2NvbW1vbi9pYXZmIC1JLi4vZHJpdmVycy9uZXQvaWF2Zi8uLi8uLi9jb21tb24vaWF2ZiAt SWxpYi9saWJydGVfZXRoZGV2IC1JLi4vbGliL2xpYnJ0ZV9ldGhkZXYgLUkuIC1JLi4vIC1JY29u ZmlnIC1JLi4vY29uZmlnIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUgLUkuLi9saWIv bGlicnRlX2VhbC9jb21tb24vaW5jbHVkZSAtSS4uL2xpYi9saWJydGVfZWFsL2xpbnV4L2VhbC9p bmNsdWRlIC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uIC1JLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9u IC1JbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYgLUkuLi9saWIvbGlicnRl X2VhbC9jb21tb24vaW5jbHVkZS9hcmNoL3g4NiAtSWxpYi9saWJydGVfZWFsIC1JLi4vbGliL2xp YnJ0ZV9lYWwgLUlsaWIvbGlicnRlX2t2YXJncyAtSS4uL2xpYi9saWJydGVfa3ZhcmdzIC1JbGli L2xpYnJ0ZV9uZXQgLUkuLi9saWIvbGlicnRlX25ldCAtSWxpYi9saWJydGVfbWJ1ZiAtSS4uL2xp Yi9saWJydGVfbWJ1ZiAtSWxpYi9saWJydGVfbWVtcG9vbCAtSS4uL2xpYi9saWJydGVfbWVtcG9v bCAtSWxpYi9saWJydGVfcmluZyAtSS4uL2xpYi9saWJydGVfcmluZyAtSWxpYi9saWJydGVfbWV0 ZXIgLUkuLi9saWIvbGlicnRlX21ldGVyIC1JZHJpdmVycy9idXMvcGNpIC1JLi4vZHJpdmVycy9i dXMvcGNpIC1JLi4vZHJpdmVycy9idXMvcGNpL2xpbnV4IC1JbGliL2xpYnJ0ZV9wY2kgLUkuLi9s aWIvbGlicnRlX3BjaSAtSWRyaXZlcnMvYnVzL3ZkZXYgLUkuLi9kcml2ZXJzL2J1cy92ZGV2IC1J ZHJpdmVycy9jb21tb24vaWF2ZiAtSS4uL2RyaXZlcnMvY29tbW9uL2lhdmYgLWZkaWFnbm9zdGlj cy1jb2xvcj1hbHdheXMgLXBpcGUgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFs aWQtcGNoIC1XZXJyb3IgLU8yIC1nIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2V4dHJhIC1XY2Fz dC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5 IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0 ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFy ZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tbWlzc2lu Zy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLVduby1zdHJpY3QtYWxpYXNpbmcgLURDQ19BVlgyX1NVUFBP UlQgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1NRCAtTVEgJ2RyaXZlcnMvYTcxNTE4MUBAdG1w X3J0ZV9wbWRfaWF2ZkBzdGEvbmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19hdngyLmMubycgLU1GICdk cml2ZXJzL2E3MTUxODFAQHRtcF9ydGVfcG1kX2lhdmZAc3RhL25ldF9pYXZmX2lhdmZfcnh0eF92 ZWNfYXZ4Mi5jLm8uZCcgLW8gJ2RyaXZlcnMvYTcxNTE4MUBAdG1wX3J0ZV9wbWRfaWF2ZkBzdGEv bmV0X2lhdmZfaWF2Zl9yeHR4X3ZlY19hdngyLmMubycgLWMgLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHhfdmVjX2F2eDIuYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9uZXQv aWF2Zi9pYXZmX3J4dHhfdmVjX2NvbW1vbi5oOjExOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAu Li9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjU6Ci4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zi5oOjExMDoyNzogZXJyb3I6IGZpZWxkIOKAmHBrZ19pbmZv4oCZIGhhcyBpbmNv bXBsZXRlIHR5cGUKICBzdHJ1Y3QgdmlydGNobmxfcGtnX2luZm8gcGtnX2luZm87IC8qIHBhY2th Z2UgaW5mbyAqLwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgouLi9kcml2ZXJz L25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOiBJbiBmdW5jdGlvbiDigJhpYXZmX3J4cV9y ZWFybeKAmToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzoyMDoyMDog ZXJyb3I6IOKAmElBVkZfUlhESURfQ09NTVNfT1ZTXzHigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHJ4cS0+cnhkaWQgPT0gSUFWRl9SWERJRF9DT01NU19P VlNfMSkgewogICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJp dmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzoyMDoyMDogbm90ZTogZWFjaCB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9u IGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzog SW4gZnVuY3Rpb24g4oCYX2lhdmZfcmVjdl9yYXdfcGt0c192ZWNfYXZ4Ml9mbGV4X3J4ZOKAmToK Li4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2eDIuYzo1OTY6MzQ6IGVycm9yOiDi gJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQog IGNvbnN0IHVpbnQzMl90ICp0eXBlX3RhYmxlID0gcnhxLT52c2ktPmFkYXB0ZXItPnB0eXBlX3Ri bDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvbmV0L2lh dmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6NjAyOjQzOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj4oCZCiAgICh1bmlvbiBp YXZmX3J4X2ZsZXhfZGVzYyAqKXJ4cS0+cnhfcmluZyArIHJ4cS0+cnhfdGFpbDsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9p YXZmX3J4dHhfdmVjX2F2eDIuYzo2MTk6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHZvbGF0aWxlIHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVz Y+KAmQogIGlmICghKHJ4ZHAtPndiLnN0YXR1c19lcnJvcjAgJgogICAgICAgICAgICBefgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmg6NDM6MCwKICAg ICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfbmV0L3J0ZV9ldGhlci5oOjIzLAogICAg ICAgICAgICAgICAgIGZyb20gLi4vbGliL2xpYnJ0ZV9ldGhkZXYvcnRlX2V0aGRldi5oOjE1OSwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXZfZHJp dmVyLmg6MTgsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eF92ZWNfY29tbW9uLmg6OCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvbmV0 L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6NToKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX2F2eDIuYzo2MjA6MjY6IGVycm9yOiDigJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMw X0REX1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYSUFWRl9SWF9ERVNDX1NUQVRVU19MQVNU4oCZPwogICAgcnRlX2NwdV90b19sZV8z MigxIDw8IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUykpKQogICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvYXJjaC94ODYvcnRl X2J5dGVvcmRlci5oOjc0OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9j cHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNf YXZ4Mi5jOjY0NTo0OiBlcnJvcjog4oCYSUFWRl9SWF9GTEVYX0RFU0NfU1RBVFVTMF9FT0ZfU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDi gJhJQVZGX1JYX0ZMRVhfREVTQ19TVEFUVVMwX0REX1PigJk/CiAgICBJQVZGX1JYX0ZMRVhfREVT Q19TVEFUVVMwX0VPRl9TKTsKICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAg IElBVkZfUlhfRkxFWF9ERVNDX1NUQVRVUzBfRERfUwouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZf cnh0eF92ZWNfYXZ4Mi5jOjc1MjoxMjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAgcnhkcCArPSBJQVZG X0RFU0NTX1BFUl9MT09QX0FWWCkgewogICAgICAgICAgICBefgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc2NTozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRf c2kxMjgoKHZvaWQgKikocnhkcCArIDcpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc2ODozMzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2Zs ZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDYpKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0 eF92ZWNfYXZ4Mi5jOjc3MTozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZv aWQgKikocnhkcCArIDUpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc3NDozMzogZXJyb3I6IGludmFs aWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KA mQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDQpKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4 Mi5jOjc3NzozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9u IGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhk cCArIDMpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc4MDozMzogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21t X2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDIpKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjc4Mzoz MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJi X3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kxMjgoKHZvaWQgKikocnhkcCArIDEpKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZmL2lh dmZfcnh0eF92ZWNfYXZ4Mi5jOjc4NjozMzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgX21tX2xvYWRfc2kx MjgoKHZvaWQgKikocnhkcCArIDApKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjgyNjoyMjogZXJyb3I6 IOKAmElBVkZfUlhfRkxFWF9ERVNDX1BUWVBFX03igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYSUFWRl9UWF9DVFhfREVTQ19TV1BF4oCZ PwogICAgX21tMjU2X3NldDFfZXBpMTYoSUFWRl9SWF9GTEVYX0RFU0NfUFRZUEVfTSk7CiAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICAgICAgICAg ICAgICAgICBJQVZGX1RYX0NUWF9ERVNDX1NXUEUKLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4 dHhfdmVjX2F2eDIuYzo5MDY6MTA6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBo YXMgbm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogICBpZiAocnhxLT52c2ktPmFkYXB0ZXItPmZk aXJfZW5hYmxlZCkgewogICAgICAgICAgXn4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX2F2eDIuYzo5NjI6MTA6IGVycm9yOiDigJhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZeKAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmHZzaeKAmQogICBpZiAocnhxLT52c2ktPmFkYXB0ZXItPmV0aF9k ZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5vZmZsb2FkcyAmCiAgICAgICAgICBefgouLi9kcml2 ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjk2NzoyMTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQog ICAgICAoKHZvaWQgKikoJnJ4ZHBbN10ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6OTcxOjIx OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJf cnhfZmxleF9kZXNj4oCZCiAgICAgICgodm9pZCAqKSgmcnhkcFs2XS53Yi5zdGF0dXNfZXJyb3Ix KSk7CiAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhf dmVjX2F2eDIuYzo5NzU6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJh1bmlvbiBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgICAgKCh2b2lkICopKCZyeGRwWzVd LndiLnN0YXR1c19lcnJvcjEpKTsKICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25l dC9pYXZmL2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjk3OToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAo KHZvaWQgKikoJnJ4ZHBbNF0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6OTgzOjIxOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxl eF9kZXNj4oCZCiAgICAgICgodm9pZCAqKSgmcnhkcFszXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX2F2 eDIuYzo5ODc6MjE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJh1bmlv biBpYXZmXzMyYl9yeF9mbGV4X2Rlc2PigJkKICAgICAgKCh2b2lkICopKCZyeGRwWzJdLndiLnN0 YXR1c19lcnJvcjEpKTsKICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL25ldC9pYXZm L2lhdmZfcnh0eF92ZWNfYXZ4Mi5jOjk5MToyMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHVuaW9uIGlhdmZfMzJiX3J4X2ZsZXhfZGVzY+KAmQogICAgICAoKHZvaWQg KikoJnJ4ZHBbMV0ud2Iuc3RhdHVzX2Vycm9yMSkpOwogICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19hdngyLmM6OTk1OjIxOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYdW5pb24gaWF2Zl8zMmJfcnhfZmxleF9kZXNj 4oCZCiAgICAgICgodm9pZCAqKSgmcnhkcFswXS53Yi5zdGF0dXNfZXJyb3IxKSk7CiAgICAgICAg ICAgICAgICAgICAgIF4KWzEwMDQvMjE1MV0gQ29tcGlsaW5nIEMgb2JqZWN0ICdhcHAvdGVzdC8z MDYyZjVkQEBkcGRrLXRlc3RAZXhlL3Rlc3RfY29tcHJlc3NkZXYuYy5vJy4KWzEwMDUvMjE1MV0g Q29tcGlsaW5nIEMgb2JqZWN0ICdhcHAvdGVzdC8zMDYyZjVkQEBkcGRrLXRlc3RAZXhlL3Rlc3Rf bGlua19ib25kaW5nX21vZGU0LmMubycuCm5pbmphOiBidWlsZCBzdG9wcGVkOiBzdWJjb21tYW5k IGZhaWxlZAoKCgpEUERLIFNUViB0ZWFt --===============6754269001497459362==--