From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 2B6F3695D for ; Tue, 28 Mar 2017 10:01:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1490688081; x=1522224081; h=message-id:date:mime-version:subject:from:to:cc; bh=w7LbSNp7jdM+w1Ze3sGj5xFG3l/U8TrQEVp5AslO6x8=; b=b2bw2/vpHZ7EtZn2xKJfCJ5e8JD7WgL5iAp49sf+zQwoQKVMItKWXunT Uv8XAbKJeJDzyJERlKN78A/kdpg0LQ==; Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Mar 2017 01:01:08 -0700 Message-Id: Date: 28 Mar 2017 01:01:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,235,1486454400"; d="scan'208";a="65868479" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga002.jf.intel.com with ESMTP; 28 Mar 2017 01:01:00 -0700 Content-Type: multipart/alternative; boundary="===============6112419599450615251==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: ajit.khaparde@broadcom.com Subject: [dpdk-test-report] |FAILURE| pw22461 [PATCH 02/28] bnxt: add code to support PF VF configuration 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: , X-List-Received-Date: Tue, 28 Mar 2017 08:01:25 -0000 --===============6112419599450615251== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yMjQ2MQoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QWppdCBLaGFwYXJkZSA8YWppdC5raGFwYXJkZUBicm9hZGNvbS5jb20+CkRhdGU6IE1vbiwgMjcg TWFyIDIwMTcgMjI6NDg6MzcgLTA1MDAKRFBESyBnaXQgYmFzZWxpbmU6IFJlcG86ZHBkaywgQnJh bmNoOm1hc3RlciwgQ29tbWl0SUQ6NjM2ZTczOTIwNDZmZmZkMTRhYTIzODNhYWFiOTIyODUwYWM5 NjE1NQoKUGF0Y2gyMjQ2MS0yMjQ2MSAtLT4gY29tcGlsZSBlcnJvcgpCdWlsZCBTdW1tYXJ5OiAx OCBCdWlsZHMgRG9uZSwgMCBTdWNjZXNzZnVsLCAxOCBGYWlsdXJlcwoKVGVzdCBlbnZpcm9ubWVu dCBhbmQgY29uZmlndXJhdGlvbiBhcyBiZWxvdzoKT1M6IFJIRUw3LjJfNjQKICAgIEtlcm5lbCBW ZXJzaW9uOjMuMTAuMC01MTQuMTAuMi5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBY ZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0Mp IDQuOC41IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4y CiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKT1M6IEZyZWVCU0QxMC4z XzY0CiAgICBLZXJuZWwgVmVyc2lvbjoxMC4zLVJFTEVBU0UKICAgIENQVSBpbmZvOiBJbnRlbChS KSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIeiAoMjE5NC45Ny1NSHogSzgtY2xhc3Mg Q1BVKQogICAgR0NDIFZlcnNpb246Z2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDQuOC41 CiAgICBDbGFuZyBWZXJzaW9uOjMuNC4xCiAgICB4ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZwog ICAgeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCk9TOiBGQzI0XzY0CiAgICBLZXJuZWwgVmVyc2lv bjo0LjkuMTMtMTAwLmZjMjQueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQ VSBFNS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDYuMi4xIDIw MTYwOTE2IChSZWQgSGF0IDYuMi4xLTIpCiAgICBDbGFuZyBWZXJzaW9uOjMuOC4wCiAgICB4ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1ZwogICAgaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2Nj CiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2Mtc2hhcmVkCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCk9TOiBVQjE2MDRf NjQKICAgIEtlcm5lbCBWZXJzaW9uOjQuNC4wLTY0LWdlbmVyaWMKICAgIENQVSBpbmZvOkludGVs KFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2Mg KFVidW50dSA1LjQuMC02dWJ1bnR1MX4xNi4wNC40KSA1LjQuMCAyMDE2MDYwOQogICAgQ2xhbmcg VmVyc2lvbjozLjguMAogICAgaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCiAg ICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCk9TOiBDZW50T1M3XzY0CiAgICBLZXJuZWwg VmVyc2lvbjozLjEwLjAtNTE0LjEwLjIuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikg WGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0ND KSA0LjguNSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lvbjozLjQu MgogICAgaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjCgpGYWlsZWQgQnVpbGQgIzE6Ck9TOiBSSEVMNy4yXzY0ClRhcmdl dDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjClBNRElORk8gYm54dF9ldGhkZXYuby5wbWQuYyAg TEQgYm54dF9ldGhkZXYuby9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1MjU6MTU6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAg ICAgc3RydWN0IGh3cm1fZnVuY19xY2Fwc19vdXRwdXQgKnFjYXBzKQogICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1MjU6MTU6IGVycm9yOiBpdHMgc2NvcGUgaXMgb25seSB0aGlzIGRlZmluaXRpb24gb3Ig ZGVjbGFyYXRpb24sIHdoaWNoIGlzIHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50IFstV2Vycm9y XQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzogSW4gZnVuY3Rpb24g4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmToKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNzoz MDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fw cy0+bWF4X3Jzc2Nvc19jdHggPSBmY2ZnLT5udW1fcnNzY29zX2N0eHM7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTUyODozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICBtZW1jcHkocWNhcHMtPm1hY19hZGRyZXNzLCBmY2ZnLT5k Zmx0X21hY19hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MzA6 Mjc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNh cHMtPm1heF9sMl9jdHhzID0gZmNmZy0+bnVtX2wyX2N0eHM7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTUzMToyODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X3J4X3JpbmdzID0gZmNmZy0+bnVtX3J4X3JpbmdzOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMyOjI4OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfdHhfcmluZ3MgPSBm Y2ZnLT5udW1fdHhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MzM6 MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNh cHMtPm1heF9jbXBsX3JpbmdzID0gZmNmZy0+bnVtX2NtcGxfcmluZ3M7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTUzNDoyODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X3N0YXRfY3R4ID0gZmNmZy0+bnVtX3N0 YXRfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzNzoyNTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X3Zu aWNzID0gZmNmZy0+bnVtX3ZuaWNzOwogICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTQ1 OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFj YXBzLT5tYXhfbWNhc3RfZmlsdGVycyA9IGZjZmctPm51bV9tY2FzdF9maWx0ZXJzOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDc6MzI6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNhcHMtPm1heF9od19yaW5nX2dycHMg PSBmY2ZnLT5udW1faHdfcmluZ19ncnBzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6IEluIGZ1bmN0aW9uIOKAmGJueHRfaHdybV9wZl9mdW5jX2NmZ+KAmToKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5 OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXplciBidXQgaW5jb21wbGV0 ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1NTI6OTogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIg Wy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1NTI6OTogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhy ZXHigJkpIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmHJl ceKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9 OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1NTY6MzM6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TVRV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5lbmFi bGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU1NjozMzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KICBy ZXEuZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X01UVSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90 b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9i eXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2Nw dV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NP U19DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZl LWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1 X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTk6 NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhT4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xl XzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTIHwK ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMy KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjE6NDogZXJyb3I6 IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1PigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX1RYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2Rl ZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1NjI6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f UlhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RY UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19s ZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTY0OjQ6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9WTklDUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9p Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZp bmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNTY1OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hX X1JJTkdfR1JQU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg IEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBTKTsKICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Njg6NDogZXJyb3I6IOKAmEhXUk1f RlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEXigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZM QUdTX1NURF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjEyODozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkfigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90eXBlID0gcnRlX2Nw dV90b19sZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzE2 KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1ODM6Mjogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQogIEhXUk1fUFJFUChyZXEsIEZV TkNfQ0ZHLCAtMSwgcmVzcCk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNDE6MTE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIGlmIChyZXNwLT5lcnJvcl9jb2RlKSB7IFwKICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1ODY6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1f Q0hFQ0tfUkVTVUxU4oCZCiAgSFdSTV9DSEVDS19SRVNVTFQ7CiAgXgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTQyOjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICAgcmMgPSBydGVfbGVfdG9fY3B1XzE2KHJlc3AtPmVycm9yX2Nv ZGUpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDk6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2Nw dV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1ODY6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mEhXUk1fQ0hFQ0tfUkVTVUxU4oCZCiAgSFdSTV9DSEVDS19SRVNVTFQ7CiAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5 OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJlceKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5MzoxMDogZXJyb3I6IOKA mHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCBudW1fdmZzKQogICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4g ZnVuY3Rpb24g4oCYcG9wdWxhdGVfdmZfZnVuY19jZmdfcmVx4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjU6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5lbmFibGVz ID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAg ICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjM0OiBlcnJvcjog4oCY SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVf MzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5Njo0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVeKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19N UlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9f bGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5Nzo0OiBl cnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYU+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xl XzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU5ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9TVEFUX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYUyB8CiAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1n Y2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4 KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk5OjQ6IGVycm9yOiDi gJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1PigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX0NNUExfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjoz MDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAj ZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTYwMDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05V TV9UWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg IEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMTo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhf UklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVf dG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMjo0 OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhT4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDox MDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKA mQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE2MDM6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fVk5JQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9I V19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTYwNjo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog IHJlcS0+bXR1ID0gcnRlX2NwdV90b19sZV8xNihicC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ICsKICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE2MDg6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICByZXEtPm1ydSA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPmV0aF9kZXYtPmRhdGEtPm10 dSArCiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNjEwOjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fcnNzY29zX2N0eHMgPQogICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYxMjo1OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+bnVt X3N0YXRfY3R4cyA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPm1heF9zdGF0X2N0eCAvIChudW1fdmZz ICsgMSkpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTYxMzo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHJlcS0+bnVtX2NtcGxfcmluZ3MgPQogICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYxNTo1 OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+ bnVtX3R4X3JpbmdzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4X3R4X3JpbmdzIC8gKG51bV92 ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE2OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fcnhfcmluZ3MgPSBydGVfY3B1X3RvX2xlXzE2 KGJwLT5tYXhfcnhfcmluZ3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTc6NTogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9s Ml9jdHhzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4X2wyX2N0eCAvIChudW1fdmZzICsgMSkp OwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTYxODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHJlcS0+bnVtX3ZuaWNzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4X3Zu aWNzIC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE5OjU6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1faHdfcmluZ19ncnBzID0K ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MjU6MTA6IGVycm9yOiDigJhzdHJ1Y3QgaHdy bV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJy b3JdCiAgICAgICAgICBpbnQgdmYpCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhhZGRf cmFuZG9tX21hY19pZl9uZWVkZWTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDM6MTE6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICBjZmdfcmVxLT5lbmFibGVzIHw9IHJ0ZV9j cHVfdG9fbGVfMzIoCiAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTY0NDo1OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFD X0FERFLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDU6Mjc6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICBldGhfcmFuZG9tX2FkZHIoY2ZnX3JlcS0+ ZGZsdF9tYWNfYWRkcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY0NzoxODog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIG1lbWNw eShjZmdfcmVxLT5kZmx0X21hY19hZGRyLAogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBBdCB0b3Ag bGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE2NTU6MTE6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAgICAgICAgaW50 IHZmKQogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmHJlc2VydmVfcmVzb3VyY2VzX2Zy b21fdmbigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE2Njg6MzogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJhjb3B5 X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdl cnJvcl0KICAgY29weV9mdW5jX2NmZ190b19xY2FwcyhjZmdfcmVxLCByZXNwKTsKICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTI0OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZ IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICri gJkKIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NzI6MzogZXJyb3I6IHBhc3Npbmcg YXJndW1lbnQgMSBvZiDigJhjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZIGZyb20gaW5jb21wYXRp YmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcl0KICAgY29weV9mdW5jX2NmZ190b19xY2FwcyhjZmdf cmVxLCByZXNwKTsKICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaHdy bV9mdW5jX2NmZ19pbnB1dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBo d3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkKIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNh cHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJ biBmdW5jdGlvbiDigJhibnh0X2h3cm1fYWxsb2NhdGVfdmZz4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5Ojk6IGVycm9y OiB2YXJpYWJsZSDigJhyZXHigJkgaGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRlIHR5cGUK ICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcy OTo5OiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJv cl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTcyOTo5OiBlcnJvcjogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHJlceKAmSkg Wy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE3Mjk6Mjk6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcmVx4oCZIGlz buKAmXQga25vd24KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTI4OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEucmVxX3R5cGUgPSBydGVfY3B1X3RvX2xlXzE2KEhX Uk1fIyN0eXBlKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzE24oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc2NDozOiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYSFdSTV9QUkVQ4oCZCiAgIEhXUk1fUFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwg cmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTc3MDo1OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX0RGTFRfTUFDX0FERFLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgp ICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3NzI6MTc6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIGlmIChyYyB8fCByZXNw LT5lcnJvcl9jb2RlKSB7CiAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjI5OiBlcnJvcjogdW51 c2VkIHZhcmlhYmxlIOKAmHJlceKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCgpGYWlsZWQg QnVpbGQgIzI6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MKUE1ESU5GTyBibnh0X2V0aGRldi5vLnBtZC5jICBMRCBibnh0X2V0aGRldi5vL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNTox NTogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lk ZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICBzdHJ1Y3QgaHdybV9mdW5jX3FjYXBz X291dHB1dCAqcWNhcHMpCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTogZXJyb3I6IGl0cyBz Y29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJv YmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhjb3B5 X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3OjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfcnNzY29zX2N0eCA9IGZjZmct Pm51bV9yc3Njb3NfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI4 OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIG1l bWNweShxY2Fwcy0+bWFjX2FkZHJlc3MsIGZjZmctPmRmbHRfbWFjX2FkZHIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMDoyNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X2wyX2N0eHMgPSBmY2ZnLT5u dW1fbDJfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMxOjI4OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhf cnhfcmluZ3MgPSBmY2ZnLT5udW1fcnhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MzI6Mjg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcWNhcHMtPm1heF90eF9yaW5ncyA9IGZjZmctPm51bV90eF9yaW5nczsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMzozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X2NtcGxfcmluZ3MgPSBmY2Zn LT5udW1fY21wbF9yaW5nczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM0 OjI4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFj YXBzLT5tYXhfc3RhdF9jdHggPSBmY2ZnLT5udW1fc3RhdF9jdHhzOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTM3OjI1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfdm5pY3MgPSBmY2ZnLT5udW1fdm5pY3M7CiAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDU6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNhcHMtPm1heF9tY2FzdF9maWx0ZXJzID0g ZmNmZy0+bnVtX21jYXN0X2ZpbHRlcnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU0NzozMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICBxY2Fwcy0+bWF4X2h3X3JpbmdfZ3JwcyA9IGZjZmctPm51bV9od19yaW5nX2dycHM7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54 dF9od3JtX3BmX2Z1bmNfY2Zn4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjk6IGVycm9yOiB2YXJpYWJsZSDigJhyZXHi gJkgaGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjogZXhjZXNz IGVsZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBlcnJv cjogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHJlceKAmSkgWy1XZXJyb3JdCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6 Mjk6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcmVx4oCZIGlzbuKAmXQga25vd24KICBzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1NjozMzogZXJyb3I6 IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3Rv X2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTY6MzM6 IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBm b3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCiAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3Rv X2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlXigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU1ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9S U1NDT1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg IEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMgfAogICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5j bHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU5OjQ6IGVycm9yOiDigJhIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fU1RBVF9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5l IHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBM X1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MTo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhf UklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2Nw dV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYy OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdT4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYUyB8CiAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgp ICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjQ6NDogZXJyb3I6IOKA mEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1PigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTU2NTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5H X0dSUFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQUyk7CiAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Njg6NDogZXJyb3I6IOKAmEhXUk1fRlVO Q19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEXigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdT X1NURF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEucmVxX3R5cGUgPSBydGVfY3B1 X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMTbigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8x Nih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTgzOjI6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX1BSRVDigJkKICBIV1JNX1BSRVAocmVxLCBG VU5DX0NGRywgLTEsIHJlc3ApOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTQxOjExOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBpZiAocmVzcC0+ZXJyb3JfY29kZSkgeyBcCiAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTg2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JN X0NIRUNLX1JFU1VMVOKAmQogIEhXUk1fQ0hFQ0tfUkVTVUxUOwogIF4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE0MjozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgIHJjID0gcnRlX2xlX3RvX2NwdV8xNihyZXNwLT5lcnJvcl9j b2RlKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDk6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3Rv X2NwdV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1ODY6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmEhXUk1fQ0hFQ0tfUkVTVUxU4oCZCiAgSFdSTV9DSEVDS19SRVNVTFQ7CiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUy OjI5OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJlceKAmSBbLVdlcnJvcj11bnVzZWQtdmFy aWFibGVdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5MzoxMDogZXJyb3I6 IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0 ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCBudW1fdmZzKQogICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzog SW4gZnVuY3Rpb24g4oCYcG9wdWxhdGVfdmZfZnVuY19jZmdfcmVx4oCZOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjU6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5lbmFi bGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwK ICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjM0OiBlcnJvcjog 4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90 b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk2OjQ6 IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJV4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX01SVSB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVf Y3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 OTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NU WFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRf Q1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1 X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTk6 NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90 b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDA6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fVFhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdTIHwK ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVf MzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMTo0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HU+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fUlhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAy OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkK ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNjAyOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX0wyX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0wyX0NUWFMgfAogICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAzOjQ6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklD UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3Rv X2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDQ6NDog ZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0 ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVf dG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA2OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5tdHUgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5l dGhfZGV2LT5kYXRhLT5tdHUgKwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwODo1OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+bXJ1ID0gcnRlX2NwdV90b19sZV8x NihicC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ICsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTA6NTogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9yc3Njb3NfY3R4 cyA9CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNjEyOjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fc3RhdF9jdHhzID0gcnRlX2NwdV90b19sZV8xNihicC0+ bWF4X3N0YXRfY3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjEzOjU6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fY21wbF9y aW5ncyA9CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNjE1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdHhfcmluZ3MgPSBydGVfY3B1X3RvX2xlXzE2KGJw LT5tYXhfdHhfcmluZ3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTY6NTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9yeF9y aW5ncyA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPm1heF9yeF9yaW5ncyAvIChudW1fdmZzICsgMSkp OwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTYxNzo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHJlcS0+bnVtX2wyX2N0eHMgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhf bDJfY3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE4OjU6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdm5pY3MgPSBydGVf Y3B1X3RvX2xlXzE2KGJwLT5tYXhfdm5pY3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2 MTk6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBy ZXEtPm51bV9od19yaW5nX2dycHMgPQogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYyNTox MDogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lk ZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCB2ZikKICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6IEluIGZ1bmN0aW9uIOKAmGFkZF9yYW5kb21fbWFjX2lmX25lZWRlZOKAmToKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY0Mzox MTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIGNm Z19yZXEtPmVuYWJsZXMgfD0gcnRlX2NwdV90b19sZV8zMigKICAgICAgICAgICBeCkluIGZpbGUg aW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0OjU6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNf QUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2Nw dV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ1 OjI3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ZXRoX3JhbmRvbV9hZGRyKGNmZ19yZXEtPmRmbHRfbWFjX2FkZHIpOwogICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE2NDc6MTg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICBtZW1jcHkoY2ZnX3JlcS0+ZGZsdF9tYWNfYWRkciwKICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjU1OjExOiBlcnJvcjog4oCYc3Ry dWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0 IFstV2Vycm9yXQogICAgICAgICAgIGludCB2ZikKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlv biDigJhyZXNlcnZlX3Jlc291cmNlc19mcm9tX3Zm4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjY4OjM6IGVycm9yOiBwYXNz aW5nIGFyZ3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGluY29t cGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMo Y2ZnX3JlcSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3Rv X3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNjcyOjM6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190 b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgIGNv cHlfZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90 ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMg dm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpm Y2ZnLAogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9od3JtX2FsbG9jYXRl X3Zmc+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTcyOTo5OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFs aXplciBidXQgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVx ID0gezB9OwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBz dHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJyb3I6IChuZWFyIGluaXRp YWxpemF0aW9uIGZvciDigJhyZXHigJkpIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjI5OiBlcnJvcjogc3Rv cmFnZSBzaXplIG9mIOKAmHJlceKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjEyODozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90 eXBlID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMTozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzE24oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTc2NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9QUkVQ4oCZCiAgIEhX Uk1fUFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MDo1OiBlcnJvcjog 4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFLigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICAgaWYgKHJjIHx8IHJlc3AtPmVycm9yX2NvZGUpIHsKICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE3Mjk6Mjk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcmVx4oCZIFstV2Vy cm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7 MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMzoKT1M6IFJIRUw3LjJfNjQKVGFy Z2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKClBNRElORk8gYm54dF9ldGhk ZXYuby5wbWQuYyAgTEQgYm54dF9ldGhkZXYuby9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjU6MTU6IGVycm9yOiDigJhzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1X ZXJyb3JdCiAgICAgICAgc3RydWN0IGh3cm1fZnVuY19xY2Fwc19vdXRwdXQgKnFjYXBzKQogICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1MjU6MTU6IGVycm9yOiBpdHMgc2NvcGUgaXMgb25seSB0aGlzIGRl ZmluaXRpb24gb3IgZGVjbGFyYXRpb24sIHdoaWNoIGlzIHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3 YW50IFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTUyNzozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICBxY2Fwcy0+bWF4X3Jzc2Nvc19jdHggPSBmY2ZnLT5udW1fcnNzY29zX2N0eHM7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyODozMzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBtZW1jcHkocWNhcHMtPm1hY19hZGRy ZXNzLCBmY2ZnLT5kZmx0X21hY19hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MzA6Mjc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcWNhcHMtPm1heF9sMl9jdHhzID0gZmNmZy0+bnVtX2wyX2N0eHM7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMToyODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X3J4X3JpbmdzID0gZmNmZy0+bnVt X3J4X3JpbmdzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMyOjI4OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhf dHhfcmluZ3MgPSBmY2ZnLT5udW1fdHhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MzM6MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcWNhcHMtPm1heF9jbXBsX3JpbmdzID0gZmNmZy0+bnVtX2NtcGxfcmluZ3M7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzNDoyODogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X3N0YXRfY3R4ID0g ZmNmZy0+bnVtX3N0YXRfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUz NzoyNTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBx Y2Fwcy0+bWF4X3ZuaWNzID0gZmNmZy0+bnVtX3ZuaWNzOwogICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTQ1OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogIHFjYXBzLT5tYXhfbWNhc3RfZmlsdGVycyA9IGZjZmctPm51bV9tY2FzdF9maWx0 ZXJzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDc6MzI6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNhcHMtPm1heF9o d19yaW5nX2dycHMgPSBmY2ZnLT5udW1faHdfcmluZ19ncnBzOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGJueHRfaHdybV9wZl9mdW5jX2NmZ+KA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU1Mjo5OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXplciBi dXQgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9 OwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1NTI6OTogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3Qg aW5pdGlhbGl6ZXIgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6OTogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0 aW9uIGZvciDigJhyZXHigJkpIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogc3RvcmFnZSBz aXplIG9mIOKAmHJlceKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5w dXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTY6MzM6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTVRV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIHJlcS5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU2OjMzOiBub3RlOiBlYWNoIHVuZGVjbGFy ZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQg YXBwZWFycyBpbgogIHJlcS5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mv aW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAo eCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU3OjQ6IGVycm9yOiDigJhI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVSB8CiAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMy KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTg6NDogZXJyb3I6 IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFPigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1JTU0NPU19DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU1OTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX05VTV9TVEFUX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYUyB8CiAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgp ICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjA6NDogZXJyb3I6IOKA mEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HU+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fQ01QTF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQog I2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1NjE6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fVFhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdTIHwKICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2Mjo0OiBlcnJvcjog4oCYSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f UlhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRl X2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTYzOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0wyX0NUWFPi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0wyX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9y ZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9f bGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTY0OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1ZOSUNT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDUyB8CiAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjU6NDogZXJyb3I6IOKAmEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX05VTV9IV19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAy OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkK ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTY4OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdTX1NU RF9UWF9SSU5HX01PREVfRU5BQkxF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9GTEFHU19TVERfVFhfUklOR19NT0RFX0VO QUJMRSk7CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1 X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjEyODoz NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90eXBlID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlw ZSk7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzE24oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU4MzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYSFdSTV9QUkVQ4oCZCiAgSFdSTV9QUkVQKHJlcSwgRlVOQ19DRkcsIC0xLCByZXNwKTsK ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE0MToxMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgaWYgKHJlc3AtPmVycm9yX2NvZGUpIHsgXAogICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU4Njoy OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9DSEVDS19SRVNVTFTigJkKICBI V1JNX0NIRUNLX1JFU1VMVDsKICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NDI6MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICByYyA9IHJ0ZV9sZV90b19jcHVfMTYocmVzcC0+ZXJyb3JfY29kZSk7IFwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTA5OjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNkZWZpbmUg cnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTg2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX0NIRUNLX1JFU1VM VOKAmQogIEhXUk1fQ0hFQ0tfUkVTVUxUOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1MjoyOTogZXJyb3I6IHVudXNlZCB2 YXJpYWJsZSDigJhyZXHigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTM6MTA6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAg ICAgICAgICBpbnQgbnVtX3ZmcykKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBvcHVs YXRlX3ZmX2Z1bmNfY2ZnX3JlceKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5NTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+ZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVf MzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8CiAgICAgXgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTU5NTozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgcmVxLT5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5Njo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX01SVeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlUgfAogICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5j bHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk3OjQ6IGVycm9yOiDigJhIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9SU1NDT1NfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2Rl ZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1OTg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f U1RBVF9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk5OjQ6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X0NNUExfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNjAwOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJ TkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9i eXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2Nw dV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDE6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdT IHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9f bGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMjo0OiBl cnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhT4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTYwMzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9WTklDU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg IEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1MgfAogICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA0OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f SFdfUklOR19HUlBTKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5l IHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTYwNjo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogIHJlcS0+bXR1ID0gcnRlX2NwdV90b19sZV8xNihicC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ICsK ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE2MDg6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUKICByZXEtPm1ydSA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPmV0aF9kZXYtPmRhdGEt Pm10dSArCiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNjEwOjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fcnNzY29zX2N0eHMgPQogICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYxMjo1 OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+ bnVtX3N0YXRfY3R4cyA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPm1heF9zdGF0X2N0eCAvIChudW1f dmZzICsgMSkpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTYxMzo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+bnVtX2NtcGxfcmluZ3MgPQogICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYx NTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJl cS0+bnVtX3R4X3JpbmdzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4X3R4X3JpbmdzIC8gKG51 bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE2OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fcnhfcmluZ3MgPSBydGVfY3B1X3RvX2xl XzE2KGJwLT5tYXhfcnhfcmluZ3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTc6NTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51 bV9sMl9jdHhzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4X2wyX2N0eCAvIChudW1fdmZzICsg MSkpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTYxODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogIHJlcS0+bnVtX3ZuaWNzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4 X3ZuaWNzIC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE5OjU6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1faHdfcmluZ19ncnBz ID0KICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MjU6MTA6IGVycm9yOiDigJhzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1X ZXJyb3JdCiAgICAgICAgICBpbnQgdmYpCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhh ZGRfcmFuZG9tX21hY19pZl9uZWVkZWTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDM6MTE6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICBjZmdfcmVxLT5lbmFibGVzIHw9IHJ0 ZV9jcHVfdG9fbGVfMzIoCiAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6 MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTY0NDo1OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRf TUFDX0FERFLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAg SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY0NToyNzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIGV0aF9yYW5kb21fYWRkcihjZmdf cmVxLT5kZmx0X21hY19hZGRyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ3 OjE4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg bWVtY3B5KGNmZ19yZXEtPmRmbHRfbWFjX2FkZHIsCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0 IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTY1NToxMTogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lu cHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAg ICBpbnQgdmYpCiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYcmVzZXJ2ZV9yZXNvdXJj ZXNfZnJvbV92ZuKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTY2ODozOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKA mGNvcHlfZnVuY19jZmdfdG9fcWNhcHPigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBl IFstV2Vycm9yXQogICBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKGNmZ19yZXEsIHJlc3ApOwogICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1MjQ6MTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0 ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5w dXQgKuKAmQogc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9m dW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY3MjozOiBlcnJvcjogcGFz c2luZyBhcmd1bWVudCAxIG9mIOKAmGNvcHlfZnVuY19jZmdfdG9fcWNhcHPigJkgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogICBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz KGNmZ19yZXEsIHJlc3ApOwogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6MTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3Ry dWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmQogc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190 b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6IEluIGZ1bmN0aW9uIOKAmGJueHRfaHdybV9hbGxvY2F0ZV92ZnPigJk6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTog ZXJyb3I6IHZhcmlhYmxlIOKAmHJlceKAmSBoYXMgaW5pdGlhbGl6ZXIgYnV0IGluY29tcGxldGUg dHlwZQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNzI5Ojk6IGVycm9yOiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxpemVyIFst V2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNzI5Ojk6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcmVx 4oCZKSBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyZXHi gJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoz NDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxMjg6MzQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZH4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5yZXFfdHlwZSA9IHJ0ZV9jcHVfdG9fbGVf MTYoSFdSTV8jI3R5cGUpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzE2KHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3NjQ6Mzogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQogICBIV1JNX1BSRVAocmVxLCBGVU5DX0NG RywgLTEsIHJlc3ApOwogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE3NzA6NTogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19ERkxUX01BQ19BRERS4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19ERkxUX01BQ19BRERS KTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3Rv X2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3NzI6MTc6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIGlmIChy YyB8fCByZXNwLT5lcnJvcl9jb2RlKSB7CiAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjI5OiBl cnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJlceKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVd CiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMK CgpGYWlsZWQgQnVpbGQgIzQ6Ck9TOiBGcmVlQlNEMTAuM182NApUYXJnZXQ6IHg4Nl82NC1uYXRp dmUtYnNkYXBwLWNsYW5nClBNRElORk8gYm54dF9ldGhkZXYuby5wbWQuYyAgTEQgYm54dF9ldGhk ZXYuby9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MjQ6NDM6IGVycm9yOiBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uIFst V2Vycm9yLC1XdmlzaWJpbGl0eV0Kc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2Fwcyhz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3OjMwOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0 aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5t YXhfcnNzY29zX2N0eCA9IGZjZmctPm51bV9yc3Njb3NfY3R4czsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9u IG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2Nm Z190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI4OjMzOiBlcnJvcjogaW5jb21w bGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAg ICAgIG1lbWNweShxY2Fwcy0+bWFjX2FkZHJlc3MsIGZjZmctPmRmbHRfbWFjX2FkZHIsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTogZm9y d2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2 b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZj ZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMDoy NzogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dCcKICAgICAgICBxY2Fwcy0+bWF4X2wyX2N0eHMgPSBmY2ZnLT5udW1fbDJfY3R4 czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBm b3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGlj IHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq ZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMx OjI4OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfcnhfcmluZ3MgPSBmY2ZnLT5udW1fcnhf cmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0Jwpz dGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lu cHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1MzI6Mjg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3 cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgcWNhcHMtPm1heF90eF9yaW5ncyA9IGZjZmctPm51 bV90eF9yaW5nczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0 Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5w dXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTUzMzozMDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBxY2Fwcy0+bWF4X2NtcGxfcmluZ3MgPSBm Y2ZnLT5udW1fY21wbF9yaW5nczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9m dW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTM0OjI4OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9m IHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfc3Rh dF9jdHggPSBmY2ZnLT5udW1fc3RhdF9jdHhzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2Fwcyhz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM3OjI1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0 aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5t YXhfdm5pY3MgPSBmY2ZnLT5udW1fdm5pY3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MjQ6NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NDU6MzM6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24g b2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgcWNhcHMtPm1heF9t Y2FzdF9maWx0ZXJzID0gZmNmZy0+bnVtX21jYXN0X2ZpbHRlcnM7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVu Y19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU0NzozMjogZXJyb3I6IGlu Y29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcK ICAgICAgICBxY2Fwcy0+bWF4X2h3X3JpbmdfZ3JwcyA9IGZjZmctPm51bV9od19yaW5nX2dycHM7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3Rl OiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3Rh dGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTUyOjI5OiBlcnJvcjogdmFyaWFibGUgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXQnCiAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0g ezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBub3Rl OiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAg ICAgICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU1NjozMzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUnCiAgICAgICAgcmVxLmVuYWJsZXMgPSBydGVfY3B1 X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1NTc6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19NUlUnCiAgICAgICAgICAgICAgICAgICAgICAgIEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19NUlUgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9j cHVfdG9fbGVfMzInCiNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTg6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMnCiAg ICAgICAgICAgICAgICAgICAgICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNT Q09TX0NUWFMgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzIn CiNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1NTk6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTJwogICAgICAgICAgICAgICAg ICAgICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYUyB8CiAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtYnNkYXBwLWNsYW5nL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2NwdV90b19sZV8zMicKI2RlZmluZSBydGVfY3B1 X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0 OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTJwogICAgICAgICAgICAgICAgICAgICAgICBIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MgfAogICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFw cC1jbGFuZy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGV4cGFuZGVkIGZy b20gbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAo eCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjE6NDogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f VFhfUklOR1MnCiAgICAgICAgICAgICAgICAgICAgICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fVFhfUklOR1MgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9jcHVf dG9fbGVfMzInCiNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NjI6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1MnCiAgICAgICAg ICAgICAgICAgICAgICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1Mg fAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmZh dGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9y LWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdibnh0X2h3cm0ubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnYm54dCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRh cmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z ZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9y IHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiBy ZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM1OgpPUzog RnJlZUJTRDEwLjNfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MKUE1ESU5GTyBi bnh0X2V0aGRldi5vLnBtZC5jICBMRCBibnh0X2V0aGRldi5vL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTogZXJyb3I6ICdz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0 IFstV2Vycm9yXQogICAgICAgIHN0cnVjdCBod3JtX2Z1bmNfcWNhcHNfb3V0cHV0ICpxY2FwcykK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI1OjE1OiBlcnJvcjogaXRzIHNjb3BlIGlzIG9ubHkgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGljaCBpcyBwcm9iYWJseSBub3Qgd2hhdCB5 b3Ugd2FudCBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uICdjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz JzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTUyNzozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICBxY2Fwcy0+bWF4X3Jzc2Nvc19jdHggPSBmY2ZnLT5udW1fcnNzY29zX2N0eHM7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyODozMzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBtZW1jcHkocWNhcHMtPm1hY19hZGRy ZXNzLCBmY2ZnLT5kZmx0X21hY19hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MzA6Mjc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcWNhcHMtPm1heF9sMl9jdHhzID0gZmNmZy0+bnVtX2wyX2N0eHM7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMToyODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X3J4X3JpbmdzID0gZmNmZy0+bnVt X3J4X3JpbmdzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMyOjI4OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhf dHhfcmluZ3MgPSBmY2ZnLT5udW1fdHhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MzM6MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcWNhcHMtPm1heF9jbXBsX3JpbmdzID0gZmNmZy0+bnVtX2NtcGxfcmluZ3M7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzNDoyODogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X3N0YXRfY3R4ID0g ZmNmZy0+bnVtX3N0YXRfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUz NzoyNTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBx Y2Fwcy0+bWF4X3ZuaWNzID0gZmNmZy0+bnVtX3ZuaWNzOwogICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTQ1OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogIHFjYXBzLT5tYXhfbWNhc3RfZmlsdGVycyA9IGZjZmctPm51bV9tY2FzdF9maWx0 ZXJzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDc6MzI6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNhcHMtPm1heF9o d19yaW5nX2dycHMgPSBmY2ZnLT5udW1faHdfcmluZ19ncnBzOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uICdibnh0X2h3cm1fcGZfZnVuY19jZmcnOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTUyOjk6IGVycm9yOiB2YXJpYWJsZSAncmVxJyBoYXMgaW5pdGlhbGl6ZXIgYnV0IGluY29t cGxldGUgdHlwZQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTUyOjk6IGVycm9yOiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxp emVyIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTUyOjk6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig J3JlcScpIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdyZXEn IGlzbid0IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjM0OjA6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1NTY6MzM6IGVycm9yOiAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVScgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLmVuYWJsZXMgPSBydGVf Y3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94 ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1NTY6MzM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9u bHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCiAgcmVxLmVuYWJsZXMgPSBy dGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwogI2RlZmlu ZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1NTc6NDogZXJyb3I6ICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19NUlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2 XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2NwdV90b19sZV8zMicKICNkZWZpbmUgcnRl X2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTU4OjQ6IGVycm9yOiAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RY UycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9jcHVfdG9f bGVfMzInCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU1OTo0OiBlcnJvcjogJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fU1RBVF9DVFhTJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjogJ0hXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NN UExfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5h dGl2ZS1ic2RhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2NwdV90b19sZV8zMicKICNkZWZpbmUgcnRlX2NwdV90 b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYxOjQ6 IGVycm9yOiAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUycgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1RYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU2Mjo0OiBlcnJvcjogJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhf UklOR1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0 ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfY3B1X3Rv X2xlXzMyJwogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6ICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX0wyX0NUWFMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g J3J0ZV9jcHVfdG9fbGVfMzInCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2NDo0OiBlcnJvcjogJ0hXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDUyB8CiAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1n Y2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjU6NDogZXJyb3I6ICdIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQUycgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX0hXX1JJTkdfR1JQUyk7CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94 ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1Njg6NDogZXJyb3I6ICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdTX1NURF9UWF9SSU5HX01P REVfRU5BQkxFJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEUpOwogICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byAncnRlX2NwdV90b19sZV8zMicKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxMjg6MzQ6IGVycm9yOiAnSFdSTV9GVU5D X0NGRycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90 eXBlID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1u YXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMTYnCiAjZGVmaW5lIHJ0ZV9jcHVf dG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU4Mzoy OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0hXUk1fUFJFUCcKICBIV1JNX1BSRVAocmVx LCBGVU5DX0NGRywgLTEsIHJlc3ApOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTQxOjExOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBpZiAocmVzcC0+ZXJyb3JfY29kZSkgeyBc CiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTg2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnSFdS TV9DSEVDS19SRVNVTFQnCiAgSFdSTV9DSEVDS19SRVNVTFQ7CiAgXgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTQyOjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICAgcmMgPSBydGVfbGVfdG9fY3B1XzE2KHJlc3AtPmVycm9yX2Nv ZGUpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDk6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9sZV90b19jcHVf MTYnCiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU4NjoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0hXUk1f Q0hFQ0tfUkVTVUxUJwogIEhXUk1fQ0hFQ0tfUkVTVUxUOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1MjoyOTogZXJyb3I6 IHVudXNlZCB2YXJpYWJsZSAncmVxJyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5MzoxMDogZXJyb3I6ICdzdHJ1Y3QgaHdybV9m dW5jX2NmZ19pbnB1dCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQog ICAgICAgICAgaW50IG51bV92ZnMpCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiAncG9wdWxh dGVfdmZfZnVuY19jZmdfcmVxJzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5NTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+ZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIo SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8CiAgICAgXgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU5NTozNDogZXJyb3I6ICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTVRVJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEt PmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19N VFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVv cmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2NwdV90b19s ZV8zMicKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTk2OjQ6IGVycm9yOiAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX01SVScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzIn CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTU5Nzo0OiBlcnJvcjogJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fUlNTQ09TX0NUWFMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog ICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYUyB8CiAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5j bHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv ICdydGVfY3B1X3RvX2xlXzMyJwogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTg6NDogZXJyb3I6ICdIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYUycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRf Q1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTk6NDogZXJy b3I6ICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MnIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9DTVBMX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTYwMDo0OiBlcnJvcjogJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhf UklOR1MnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0 ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVfY3B1X3Rv X2xlXzMyJwogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE2MDE6NDogZXJyb3I6ICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX1JYX1JJTkdTJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1MgfAogICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byAncnRlX2NwdV90b19sZV8zMicKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAyOjQ6IGVycm9yOiAnSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RY UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJz ZGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMy KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDM6NDogZXJyb3I6 ICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTJyB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fVk5JQ1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5h dGl2ZS1ic2RhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2NwdV90b19sZV8zMicKICNkZWZpbmUgcnRlX2NwdV90 b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA0OjQ6 IGVycm9yOiAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFMnIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRlX2NwdV90b19sZV8z MicKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNjA2OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgcmVxLT5tdHUgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5ldGhfZGV2LT5k YXRhLT5tdHUgKwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTYwODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+bXJ1ID0gcnRlX2NwdV90b19sZV8xNihicC0+ZXRo X2Rldi0+ZGF0YS0+bXR1ICsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTA6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9yc3Njb3NfY3R4cyA9CiAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNjEyOjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlCiAgcmVxLT5udW1fc3RhdF9jdHhzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4X3N0YXRf Y3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjEzOjU6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fY21wbF9yaW5ncyA9CiAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNjE1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcmVxLT5udW1fdHhfcmluZ3MgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhfdHhf cmluZ3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTY6NTogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9yeF9yaW5ncyA9IHJ0 ZV9jcHVfdG9fbGVfMTYoYnAtPm1heF9yeF9yaW5ncyAvIChudW1fdmZzICsgMSkpOwogICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTYxNzo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogIHJlcS0+bnVtX2wyX2N0eHMgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhfbDJfY3R4IC8g KG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE4OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdm5pY3MgPSBydGVfY3B1X3RvX2xl XzE2KGJwLT5tYXhfdm5pY3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTk6NTogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9o d19yaW5nX2dycHMgPQogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYyNToxMDogZXJyb3I6 ICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBs aXN0IFstV2Vycm9yXQogICAgICAgICAgaW50IHZmKQogICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rp b24gJ2FkZF9yYW5kb21fbWFjX2lmX25lZWRlZCc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDM6MTE6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICBjZmdfcmVxLT5lbmFibGVzIHw9 IHJ0ZV9jcHVfdG9fbGVfMzIoCiAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTY0NDo1OiBlcnJvcjogJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19ERkxU X01BQ19BRERSJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAncnRl X2NwdV90b19sZV8zMicKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ1OjI3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgZXRoX3JhbmRvbV9hZGRyKGNmZ19yZXEtPmRm bHRfbWFjX2FkZHIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDc6MTg6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICBtZW1jcHko Y2ZnX3JlcS0+ZGZsdF9tYWNfYWRkciwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogQXQgdG9wIGxl dmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNjU1OjExOiBlcnJvcjogJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JyBkZWNs YXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAgICAgICAgaW50IHZmKQog ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uICdyZXNlcnZlX3Jlc291cmNlc19mcm9tX3ZmJzoK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTY2ODozOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mICdjb3B5X2Z1bmNfY2ZnX3Rv X3FjYXBzJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgIGNvcHlf ZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90ZTog ZXhwZWN0ZWQgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IConIGJ1dCBhcmd1bWVudCBpcyBv ZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqJwogc3RhdGljIHZvaWQgY29weV9m dW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTY3MjozOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mICdjb3B5X2Z1 bmNfY2ZnX3RvX3FjYXBzJyBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3Jd CiAgIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDox Mzogbm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IConIGJ1dCBhcmd1 bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqJwogc3RhdGljIHZv aWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNm ZywKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uICdibnh0X2h3cm1fYWxsb2NhdGVfdmZz JzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTcyOTo5OiBlcnJvcjogdmFyaWFibGUgJ3JlcScgaGFzIGluaXRpYWxpemVyIGJ1dCBp bmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTcyOTo5OiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0 aWFsaXplciBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTcyOTo5OiBlcnJvcjogKG5lYXIgaW5pdGlhbGl6YXRpb24g Zm9yICdyZXEnKSBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAn cmVxJyBpc24ndCBrbm93bgogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoz NDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxMjg6MzQ6IGVycm9yOiAnSFdSTV9GVU5DX0NGRycgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90eXBlID0gcnRlX2NwdV90b19sZV8xNihI V1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ3J0 ZV9jcHVfdG9fbGVfMTYnCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc2NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8gJ0hXUk1fUFJFUCcKICAgSFdSTV9QUkVQKHJlcSwgRlVOQ19DRkcsIC0xLCByZXNwKTsK ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNzcwOjU6IGVycm9yOiAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRf TUFDX0FERFInIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19ERkxUX01BQ19BRERSKTsKICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVf Y3B1X3RvX2xlXzMyJwogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3NzI6MTc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIGlmIChyYyB8fCByZXNwLT5lcnJvcl9jb2RlKSB7 CiAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjI5OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdy ZXEnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJu aW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQg J2JueHRfaHdybS5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdibnh0JyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFy Z2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNk a2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjQ6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzY6Ck9TOiBG QzI0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcKClBNRElORk8g Ym54dF9ldGhkZXYuby5wbWQuYyAgTEQgYm54dF9ldGhkZXYuby9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IGVycm9yOiDi gJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVy IGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiBbLVdlcnJvcl0KIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMo c3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDi gJhjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3OjMwOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19p bnB1dOKAmQogIHFjYXBzLT5tYXhfcnNzY29zX2N0eCA9IGZjZmctPm51bV9yc3Njb3NfY3R4czsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGJueHRf aHdybV9wZl9mdW5jX2NmZ+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZ IGhhcyBpbml0aWFsaXplciBidXQgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6 MzY6IGVycm9yOiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxpemVyIFstV2Vycm9y XQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjM2OiBub3RlOiAobmVhciBpbml0aWFsaXph dGlvbiBmb3Ig4oCYcmVx4oCZKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKA mHJlceKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0g ezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU1NjozMzogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVx LmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19N VFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90 b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTY6MzM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJz IGluCiAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1ODo0OiBlcnJvcjog4oCYSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fUlNTQ09TX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNk ZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTU5OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X1NUQVRfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg IEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05V TV9DTVBMX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5l IHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU2MTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9S SU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVf Ynl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9j cHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYyOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5H UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3Rv X2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDog ZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fTDJfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDox MDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKA mQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1NjQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fVk5JQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2NTo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFPigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X0hXX1JJTkdfR1JQUyk7CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmlu ZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1Njg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJ TkdfTU9ERV9FTkFCTEXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdTX1NURF9UWF9SSU5HX01PREVfRU5BQkxFKTsK ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVf MzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICByZXEucmVxX3R5cGUgPSBydGVfY3B1X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MTbigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTgzOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhI V1JNX1BSRVDigJkKICBIV1JNX1BSRVAocmVxLCBGVU5DX0NGRywgLTEsIHJlc3ApOwogIF5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNDE6MTE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX291dHB1dOKAmQogICBpZiAocmVzcC0+ZXJy b3JfY29kZSkgeyBcCiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTg2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyDigJhIV1JNX0NIRUNLX1JFU1VMVOKAmQogIEhXUk1fQ0hFQ0tfUkVTVUxUOwogIF5+ fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NTI6Mjk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcmVx 4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBBdCB0b3Ag bGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1OTI6MTc6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKA mSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRz aWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICAgICAgICAg IHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpyZXEsCiAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYcG9wdWxhdGVfdmZfZnVuY19jZmdfcmVx 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTk1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZCiAgcmVxLT5lbmFibGVzID0g cnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICBe fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5NTozNDogZXJyb3I6IOKAmEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgcmVxLT5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVf MzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5Njo0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVeKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19N UlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90 b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk3OjQ6 IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhT4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90 b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fU1RBVF9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFMg fAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19s ZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk5OjQ6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1PigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNjAwOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX1RYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUyB8CiAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgp ICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDE6NDogZXJyb3I6IOKA mEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1PigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJM RVNfTlVNX1JYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTYwMjo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9M Ml9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9WTklDU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1MgfAog ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8z Mih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA0OjQ6IGVycm9y OiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBTKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xl XzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYyNDoxNzogZXJyb3I6IOKAmHN0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlz dCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xh cmF0aW9uIFstV2Vycm9yXQogICAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmNm Z19yZXEsCiAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rp b24g4oCYYWRkX3JhbmRvbV9tYWNfaWZfbmVlZGVk4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQzOjExOiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dOKAmQogICAgY2ZnX3JlcS0+ZW5hYmxlcyB8PSBydGVfY3B1X3RvX2xlXzMyKAog ICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0OjU6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjU0OjE4OiBlcnJvcjog4oCYc3Ry dWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0 IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFy YXRpb24gWy1XZXJyb3JdCiAgICAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmNm Z19yZXEsCiAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0 aW9uIOKAmHJlc2VydmVfcmVzb3VyY2VzX2Zyb21fdmbigJk6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2Njg6MjY6IGVycm9yOiBw YXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlw ZXNdCiAgIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkKIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdf dG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NzI6MjY6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50 IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgIGNvcHlfZnVu Y19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTI0OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV0ICrigJkKIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhibnh0X2h3cm1fYWxsb2NhdGVfdmZz4oCZOgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NzI5Ojk6IGVycm9yOiB2YXJpYWJsZSDigJhyZXHigJkgaGFzIGluaXRpYWxpemVyIGJ1dCBpbmNv bXBsZXRlIHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcyOTozNjogZXJyb3I6IGV4Y2VzcyBlbGVtZW50 cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdf aW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE3Mjk6MzY6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhyZXHigJkpCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3 Mjk6Mjk6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcmVx4oCZIGlzbuKAmXQga25vd24KICBz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxMjg6MzQ6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZH4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIHJlcS5yZXFfdHlwZSA9IHJ0ZV9jcHVfdG9fbGVfMTYoSFdSTV8jI3R5cGUpOyBc CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8xNuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzE2KHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE3NjQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mEhXUk1fUFJFUOKAmQogICBIV1JNX1BSRVAocmVxLCBGVU5DX0NGRywgLTEsIHJlc3ApOwogICBe fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTc3MDo1OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X0RGTFRfTUFDX0FERFLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkg KHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVu Y19jZmdfb3V0cHV04oCZCiAgIGlmIChyYyB8fCByZXNwLT5lcnJvcl9jb2RlKSB7CiAgICAgICAg ICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhyZXHigJkg Wy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJl cSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn4KY2MxOiBhbGwgd2Fybmlu Z3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdi bnh0X2h3cm0ubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnYm54dCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdl dCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGti dWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9yIHRh cmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z ZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiByZWNp cGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM3OgpPUzogRkMy NF82NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwpQTURJTkZPIGJueHRfZXRoZGV2 Lm8ucG1kLmMgIExEIGJueHRfZXRoZGV2Lm8vaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBlcnJvcjog4oCYc3RydWN0IGh3 cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwg bm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24g Wy1XZXJyb3JdCiBzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYY29weV9mdW5j X2NmZ190b19xY2Fwc+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTUyNzozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkKICBx Y2Fwcy0+bWF4X3Jzc2Nvc19jdHggPSBmY2ZnLT5udW1fcnNzY29zX2N0eHM7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhibnh0X2h3cm1fcGZfZnVu Y19jZmfigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1NTI6OTogZXJyb3I6IHZhcmlhYmxlIOKAmHJlceKAmSBoYXMgaW5pdGlh bGl6ZXIgYnV0IGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJl cSA9IHswfTsKICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjM2OiBlcnJvcjog ZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KICBzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU1MjozNjogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKA mHJlceKAmSkKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTU1MjoyOTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyZXHigJkgaXNu 4oCZdCBrbm93bgogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjM0OjA6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1NTY6MzM6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRV4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5lbmFibGVzID0g cnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjoz MDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAj ZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTU1NjozMzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVw b3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KICByZXEuZW5h YmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NTg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fUlNTQ09TX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhT IHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTk6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhT4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX05VTV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTIHwKICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjE6NDogZXJyb3I6IOKAmEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX1RYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1NjI6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklO R1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90 b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYUyB8CiAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1n Y2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4 KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTY0OjQ6IGVycm9yOiDi gJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9WTklDUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5h dGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRl X2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTY1OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdf R1JQU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBTKTsKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Njg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEXigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdTX1NU RF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQog I2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjEyODozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkfigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90eXBlID0gcnRlX2NwdV90b19s ZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzE2KHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1ODM6Mjogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQogIEhXUk1fUFJFUChyZXEsIEZVTkNfQ0ZH LCAtMSwgcmVzcCk7CiAgXn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE0MToxMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfb3V0cHV0 4oCZCiAgIGlmIChyZXNwLT5lcnJvcl9jb2RlKSB7IFwKICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1ODY6Mjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fQ0hFQ0tfUkVTVUxU4oCZCiAgSFdS TV9DSEVDS19SRVNVTFQ7CiAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1MjoyOTogZXJyb3I6IHVu dXNlZCB2YXJpYWJsZSDigJhyZXHigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5MjoxNzogZXJyb3I6IOKAmHN0cnVjdCBo d3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxs IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9u IFstV2Vycm9yXQogICAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKnJlcSwKICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhwb3B1 bGF0ZV92Zl9mdW5jX2NmZ19yZXHigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTU6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTi gJkKICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19NVFUgfAogICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTk1OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVeKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEtPmVuYWJsZXMgPSBydGVf Y3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v aTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU5Njo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVeKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19NUlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjoz MDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAj ZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTU5Nzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05V TV9SU1NDT1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMgfAogICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5ODo0OiBlcnJvcjog4oCYSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFPigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX1NUQVRfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTk5OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExf UklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MgfAogICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklO R1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9f bGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMTo0OiBl cnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fUlhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTYwMjo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9MMl9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog ICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDM6NDogZXJyb3I6IOKAmEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT IHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDQ6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xl XzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYyNDoxNzogZXJyb3I6IOKAmHN0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlz dCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xh cmF0aW9uIFstV2Vycm9yXQogICAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmNm Z19yZXEsCiAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rp b24g4oCYYWRkX3JhbmRvbV9tYWNfaWZfbmVlZGVk4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQzOjExOiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dOKAmQogICAgY2ZnX3JlcS0+ZW5hYmxlcyB8PSBydGVfY3B1X3RvX2xlXzMyKAog ICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0OjU6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY1NDoxODogZXJyb3I6IOKAmHN0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3 aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0 aW9uIFstV2Vycm9yXQogICAgICAgICAgIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpjZmdf cmVxLAogICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlv biDigJhyZXNlcnZlX3Jlc291cmNlc19mcm9tX3Zm4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjY4OjI2OiBlcnJvcjogcGFz c2luZyBhcmd1bWVudCAxIG9mIOKAmGNvcHlfZnVuY19jZmdfdG9fcWNhcHPigJkgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogICBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKGNmZ19yZXEsIHJlc3ApOwogICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3Rv X3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjcyOjI2OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAx IG9mIOKAmGNvcHlfZnVuY19jZmdfdG9fcWNhcHPigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRl ciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICBjb3B5X2Z1bmNf Y2ZnX3RvX3FjYXBzKGNmZ19yZXEsIHJlc3ApOwogICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTUyNDoxMzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdf aW5wdXQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dCAq4oCZCiBzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBo d3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9od3JtX2FsbG9jYXRlX3Zmc+KAmToKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcy OTo5OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXplciBidXQgaW5jb21w bGV0ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6MzY6IGVycm9yOiBleGNlc3MgZWxlbWVudHMg aW4gc3RydWN0IGluaXRpYWxpemVyIFstV2Vycm9yXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lu cHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NzI5OjM2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcmVx4oCZKQovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5 OjI5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmHJlceKAmSBpc27igJl0IGtub3duCiAgc3Ry dWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICByZXEucmVxX3R5cGUgPSBydGVfY3B1X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzE2 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTc2NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdS TV9QUkVQ4oCZCiAgIEhXUk1fUFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgIF5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNzcwOjU6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZM VF9NQUNfQUREUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdf b3V0cHV04oCZCiAgIGlmIChyYyB8fCByZXNwLT5lcnJvcl9jb2RlKSB7CiAgICAgICAgICAgICAg ICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhyZXHigJkgWy1XZXJy b3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHsw fTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn4KY2MxOiBhbGwgd2FybmluZ3MgYmVp bmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2lu dGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdibnh0X2h3 cm0ubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGly Lm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnYm54dCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0 JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5t azo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAn YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0 YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9y IHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM4OgpPUzogRkMyNF82NApU YXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjClBNRElORk8gYm54dF9ldGhkZXYuby5w bWQuYyAgTEQgYm54dF9ldGhkZXYuby9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9m dW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3Qg YmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdl cnJvcl0KIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVu Y19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhjb3B5X2Z1bmNfY2Zn X3RvX3FjYXBz4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTI3OjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKAmQogIHFjYXBz LT5tYXhfcnNzY29zX2N0eCA9IGZjZmctPm51bV9yc3Njb3NfY3R4czsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGJueHRfaHdybV9wZl9mdW5jX2Nm Z+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXpl ciBidXQgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0g ezB9OwogICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6MzY6IGVycm9yOiBleGNl c3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxpemVyIFstV2Vycm9yXQogIHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTUyOjM2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcmVx 4oCZKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmHJlceKAmSBpc27igJl0 IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTU1NjozMzogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFXigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLmVuYWJsZXMgPSBydGVf Y3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2Rl ZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1NTY6MzM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCiAgcmVxLmVuYWJs ZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVv cmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3Rv X2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTU1ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NU WFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90 b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU5OjQ6 IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYU+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xl XzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTIHwK ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVf MzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MTo0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HU+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAy OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkK ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTYyOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX1JYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog ICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8CiAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6IOKAmEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f TDJfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVf Y3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 NjQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1PigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU2NTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX05VTV9IV19SSU5HX0dSUFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQUyk7 CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Njg6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEXi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0ZMQUdTX1NURF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEucmVx X3R5cGUgPSBydGVfY3B1X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAxOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMTbigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTgzOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX1BSRVDigJkKICBI V1JNX1BSRVAocmVxLCBGVU5DX0NGRywgLTEsIHJlc3ApOwogIF5+fn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNDE6MTE6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBod3JtX2Z1bmNfY2ZnX291dHB1dOKAmQogICBpZiAocmVzcC0+ZXJyb3JfY29kZSkgeyBcCiAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTg2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JN X0NIRUNLX1JFU1VMVOKAmQogIEhXUk1fQ0hFQ0tfUkVTVUxUOwogIF5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1NTI6Mjk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcmVx4oCZIFstV2Vycm9yPXVu dXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTI6 MTc6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVm aW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KICAgICAgICAgIHN0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV0ICpyZXEsCiAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzogSW4gZnVuY3Rpb24g4oCYcG9wdWxhdGVfdmZfZnVuY19jZmdfcmVx4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjU6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZCiAgcmVxLT5lbmFibGVzID0gcnRlX2NwdV90b19sZV8z MihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICBefgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTU5NTozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgcmVxLT5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5Njo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX01SVeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlUgfAogICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5j bHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk3OjQ6IGVycm9yOiDigJhIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9SU1NDT1NfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2Rl ZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1OTg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f U1RBVF9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk5OjQ6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X0NNUExfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNjAwOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJ TkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9i eXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2Nw dV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDE6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdT IHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9f bGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMjo0OiBl cnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhT4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTYwMzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9WTklDU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg IEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1MgfAogICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA0OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f SFdfUklOR19HUlBTKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5l IHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTYyNDoxNzogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9y XQogICAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmNmZ19yZXEsCiAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYWRkX3JhbmRv bV9tYWNfaWZfbmVlZGVk4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQzOjExOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKAmQog ICAgY2ZnX3JlcS0+ZW5hYmxlcyB8PSBydGVfY3B1X3RvX2xlXzMyKAogICAgICAgICAgIF5+Cklu IGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0OjU6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZM VF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNjU0OjE4OiBlcnJvcjog4oCYc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3Jd CiAgICAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmNmZ19yZXEsCiAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmHJlc2VydmVf cmVzb3VyY2VzX2Zyb21fdmbigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2Njg6MjY6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50 IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgIGNvcHlfZnVu Y19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTI0OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV0ICrigJkKIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE2NzI6MjY6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYY29weV9m dW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMo Y2ZnX3JlcSwgcmVzcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0 OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkK IHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdf aW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBm dW5jdGlvbiDigJhibnh0X2h3cm1fYWxsb2NhdGVfdmZz4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5Ojk6IGVycm9yOiB2 YXJpYWJsZSDigJhyZXHigJkgaGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRlIHR5cGUKICBz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTcyOTozNjogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5p dGlhbGl6ZXIgWy1XZXJyb3JdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9 OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6MzY6IG5vdGU6 IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhyZXHigJkpCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6Mjk6IGVycm9yOiBz dG9yYWdlIHNpemUgb2Yg4oCYcmVx4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+Cklu IGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxMjg6MzQ6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZH4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5y ZXFfdHlwZSA9IHJ0ZV9jcHVfdG9fbGVfMTYoSFdSTV8jI3R5cGUpOyBcCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmlu ZSBydGVfY3B1X3RvX2xlXzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE3NjQ6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQog ICBIV1JNX1BSRVAocmVxLCBGVU5DX0NGRywgLTEsIHJlc3ApOwogICBefn5+fn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3 MDo1OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFLi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfb3V0cHV04oCZ CiAgIGlmIChyYyB8fCByZXNwLT5lcnJvcl9jb2RlKSB7CiAgICAgICAgICAgICAgICAgXn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTcyOToyOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhyZXHigJkgWy1XZXJyb3I9dW51c2Vk LXZhcmlhYmxlXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRl ZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0 ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdibnh0X2h3cm0ubycgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiBy ZWNpcGUgZm9yIHRhcmdldCAnYm54dCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVj aXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1 OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAn aW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM5OgpPUzogRkMyNF82NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKUE1ESU5GTyBibnh0X2V0aGRldi5vLnBt ZC5jICBMRCBibnh0X2V0aGRldi5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0MzogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBi ZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vy cm9yXQogc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGNvcHlfZnVuY19jZmdf dG9fcWNhcHPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1Mjc6MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZCiAgcWNhcHMt Pm1heF9yc3Njb3NfY3R4ID0gZmNmZy0+bnVtX3Jzc2Nvc19jdHhzOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9od3JtX3BmX2Z1bmNfY2Zn 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTUyOjk6IGVycm9yOiB2YXJpYWJsZSDigJhyZXHigJkgaGFzIGluaXRpYWxpemVy IGJ1dCBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7 MH07CiAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1MjozNjogZXJyb3I6IGV4Y2Vz cyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCiAgc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1NTI6MzY6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhyZXHi gJkpCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1NTI6Mjk6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcmVx4oCZIGlzbuKAmXQg a25vd24KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTU2OjMzOiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVeKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEuZW5hYmxlcyA9IHJ0ZV9j cHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU1NjozMzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KICByZXEuZW5hYmxl cyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU1Nzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX01SVeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9y ZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9f bGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU4OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1JTU0NPU19DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RY UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3Rv X2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTk6NDog ZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhT4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTYwOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX0NNUExfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MgfAog ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8z Mih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYxOjQ6IGVycm9y OiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdT4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9UWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQog I2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1NjI6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fUlhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2Mzo0OiBlcnJvcjog4oCYSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9M Ml9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9j cHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2 NDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDU+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fVk5JQ1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6 MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLi gJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTY1OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJM RVNfTlVNX0hXX1JJTkdfR1JQU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBTKTsK ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVf MzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2ODo0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9GTEFHU19TVERfVFhfUklOR19NT0RFX0VOQUJMReKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19D RkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEUpOwogICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxMjg6MzQ6IGVycm9yOiDigJhIV1JNX0ZVTkNf Q0ZH4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5yZXFf dHlwZSA9IHJ0ZV9jcHVfdG9fbGVfMTYoSFdSTV8jI3R5cGUpOyBcCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1ODM6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQogIEhX Uk1fUFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgXn5+fn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE0MToxMTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGh3cm1fZnVuY19jZmdfb3V0cHV04oCZCiAgIGlmIChyZXNwLT5lcnJvcl9jb2RlKSB7IFwKICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1ODY6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1f Q0hFQ0tfUkVTVUxU4oCZCiAgSFdSTV9DSEVDS19SRVNVTFQ7CiAgXn5+fn5+fn5+fn5+fn5+fn4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU1MjoyOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhyZXHigJkgWy1XZXJyb3I9dW51 c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5Mjox NzogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lk ZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZp bml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogICAgICAgICAgc3RydWN0IGh3cm1fZnVu Y19jZmdfaW5wdXQgKnJlcSwKICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OiBJbiBmdW5jdGlvbiDigJhwb3B1bGF0ZV92Zl9mdW5jX2NmZ19yZXHigJk6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTU6NTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXTigJkKICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMy KEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgIF5+CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX01UVeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk2OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTVJV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVSB8CiAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTc6NDogZXJyb3I6IOKAmEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFPigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX1JTU0NPU19DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU5ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9T VEFUX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYUyB8CiAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTk6NDogZXJyb3I6IOKAmEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f Q01QTF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE2MDA6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklO R1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1Mg fAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19s ZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAyOjQ6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0wyX0NUWFPigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX0wyX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAy OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkK ICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNjAzOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX1ZOSUNT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDUyB8CiAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9I V19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNjI0OjE3OiBlcnJvcjog4oCYc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZp c2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3Jd CiAgICAgICAgICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqY2ZnX3JlcSwKICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhhZGRfcmFuZG9t X21hY19pZl9uZWVkZWTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDM6MTE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZCiAg ICBjZmdfcmVxLT5lbmFibGVzIHw9IHJ0ZV9jcHVfdG9fbGVfMzIoCiAgICAgICAgICAgXn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDQ6NTogZXJyb3I6IOKAmEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19ERkxUX01BQ19BRERS4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19ERkxU X01BQ19BRERSKTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE2NTQ6MTg6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlz aWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0K ICAgICAgICAgICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqY2ZnX3JlcSwKICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYcmVzZXJ2ZV9y ZXNvdXJjZXNfZnJvbV92ZuKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY2ODoyNjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQg MSBvZiDigJhjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50 ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgY29weV9mdW5j X2NmZ190b19xY2FwcyhjZmdfcmVxLCByZXNwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1MjQ6MTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV0ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQgKuKAmQogc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTY3MjoyNjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJhjb3B5X2Z1 bmNfY2ZnX3RvX3FjYXBz4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgY29weV9mdW5jX2NmZ190b19xY2Fwcyhj ZmdfcmVxLCByZXNwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6 MTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkgYnV0 IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmQog c3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19p bnB1dCAqZmNmZywKICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1 bmN0aW9uIOKAmGJueHRfaHdybV9hbGxvY2F0ZV92ZnPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJyb3I6IHZh cmlhYmxlIOKAmHJlceKAmSBoYXMgaW5pdGlhbGl6ZXIgYnV0IGluY29tcGxldGUgdHlwZQogIHN0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNzI5OjM2OiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0 aWFsaXplciBbLVdlcnJvcl0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcyOTozNjogbm90ZTog KG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHJlceKAmSkKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHN0 b3JhZ2Ugc2l6ZSBvZiDigJhyZXHigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjEyODozNDogZXJyb3I6IOKAmEhXUk1fRlVO Q19DRkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJl cV90eXBlID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMTozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzE24oCZCiAjZGVmaW5l IHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTc2NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9QUkVQ4oCZCiAg IEhXUk1fUFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgIF5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzcw OjU6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0 ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVf dG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzcyOjE3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19vdXRwdXTigJkK ICAgaWYgKHJjIHx8IHJlc3AtPmVycm9yX2NvZGUpIHsKICAgICAgICAgICAgICAgICBefgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NzI5OjI5OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJlceKAmSBbLVdlcnJvcj11bnVzZWQt dmFyaWFibGVdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVk IGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRl LmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2JueHRfaHdybS5vJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdibnh0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNp cGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp bnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEwOgpPUzogRkMyNF82NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKUE1ESU5GTyBibnh0X2V0aGRldi5vLnBtZC5jICBM RCBibnh0X2V0aGRldi5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTUyNDo0MzogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCcgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMg ZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2Zn X3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Mjc6MzA6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAg ICAgcWNhcHMtPm1heF9yc3Njb3NfY3R4ID0gZmNmZy0+bnVtX3Jzc2Nvc19jdHhzOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwpzdGF0aWMgdm9pZCBj b3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Mjg6MzM6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdf aW5wdXQnCiAgICAgICAgbWVtY3B5KHFjYXBzLT5tYWNfYWRkcmVzcywgZmNmZy0+ZGZsdF9tYWNf YWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQz OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNTMwOjI3OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfbDJfY3R4cyA9IGZjZmct Pm51bV9sMl9jdHhzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6 NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lu cHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MzE6Mjg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3Ry dWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgcWNhcHMtPm1heF9yeF9yaW5ncyA9IGZj ZmctPm51bV9yeF9yaW5nczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTUzMjoyODogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBxY2Fwcy0+bWF4X3R4X3Jpbmdz ID0gZmNmZy0+bnVtX3R4X3JpbmdzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9m dW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTMzOjMwOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9m IHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfY21w bF9yaW5ncyA9IGZjZmctPm51bV9jbXBsX3JpbmdzOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3Fj YXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MzQ6Mjg6IGVycm9yOiBpbmNvbXBsZXRlIGRl ZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgcWNh cHMtPm1heF9zdGF0X2N0eCA9IGZjZmctPm51bV9zdGF0X2N0eHM7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2Zn X3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Mzc6MjU6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAg ICAgcWNhcHMtPm1heF92bmljcyA9IGZjZmctPm51bV92bmljczsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9f cWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU0NTozMzogZXJyb3I6IGluY29tcGxldGUg ZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBx Y2Fwcy0+bWF4X21jYXN0X2ZpbHRlcnMgPSBmY2ZnLT5udW1fbWNhc3RfZmlsdGVyczsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZv aWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNm ZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTQ3OjMy OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfaHdfcmluZ19ncnBzID0gZmNmZy0+bnVtX2h3 X3JpbmdfZ3JwczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 MjQ6NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1NTI6Mjk6IGVycm9yOiB2YXJpYWJsZSBoYXMgaW5jb21wbGV0ZSB0eXBlICdz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19p bnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTUyOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV0JwogICAgICAgIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTU2OjMzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRp ZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVScKICAgICAgICByZXEuZW5hYmxl cyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Nzo0OiBlcnJvcjog dXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X01SVScKICAgICAgICAgICAgICAgICAgICAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X01SVSB8CiAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1ODo0OiBlcnJvcjogdXNlIG9m IHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9S U1NDT1NfQ1RYUycKICAgICAgICAgICAgICAgICAgICAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9SU1NDT1NfQ1RYUyB8CiAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1 OTo0OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFMnCiAgICAgICAgICAgICAgICAgICAgICAgIEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTYwOjQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MnCiAgICAgICAgICAgICAg ICAgICAgICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HUyB8CiAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MTo0OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUycK ICAgICAgICAgICAgICAgICAgICAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9U WF9SSU5HUyB8CiAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2Mjo0OiBlcnJvcjogdXNl IG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05V TV9SWF9SSU5HUycKICAgICAgICAgICAgICAgICAgICAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX05VTV9SWF9SSU5HUyB8CiAgICAgICAgICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJy b3I6IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9 XQoyMCBlcnJvcnMgZ2VuZXJhdGVkLgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv aW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2JueHRf aHdybS5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJk aXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdibnh0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdu ZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxk Lm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjQ6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2lu c3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDM6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzExOgpPUzogVUIxNjA0 XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjClBNRElORk8gYm54dF9ldGhkZXYu by5wbWQuYyAgTEQgYm54dF9ldGhkZXYuby9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjU6MTU6IGVycm9yOiDigJhzdHJ1Y3QgaHdy bV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJy b3JdCiAgICAgICAgc3RydWN0IGh3cm1fZnVuY19xY2Fwc19vdXRwdXQgKnFjYXBzKQogICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1MjU6MTU6IGVycm9yOiBpdHMgc2NvcGUgaXMgb25seSB0aGlzIGRlZmlu aXRpb24gb3IgZGVjbGFyYXRpb24sIHdoaWNoIGlzIHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50 IFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmToK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTUyNzozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkKICBxY2Fwcy0+bWF4X3Jzc2Nvc19j dHggPSBmY2ZnLT5udW1fcnNzY29zX2N0eHM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6IEluIGZ1bmN0aW9uIOKAmGJueHRfaHdybV9wZl9mdW5jX2NmZ+KAmToKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5 OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXplciBidXQgaW5jb21wbGV0 ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1NTI6MzY6IGVycm9yOiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxpemVy IFstV2Vycm9yXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjM2OiBub3RlOiAobmVhciBp bml0aWFsaXphdGlvbiBmb3Ig4oCYcmVx4oCZKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogc3RvcmFnZSBz aXplIG9mIOKAmHJlceKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5w dXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTY6MzM6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTVRV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIHJlcS5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1NjozMzogbm90ZTogZWFjaCB1bmRlY2xhcmVk IGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFw cGVhcnMgaW4KICByZXEuZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX01UVSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IOKAmEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTg6NDogZXJyb3I6IOKAmEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFPigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJM RVNfTlVNX1JTU0NPU19DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2Rl ZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1NTk6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f U1RBVF9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9D TVBMX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVf Y3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 NjE6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1Pi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NjI6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fUlhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgp ICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6IOKA mEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fTDJfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTY0OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTY1OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX0hXX1JJTkdfR1JQU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT KTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Njg6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEXi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0ZMQUdTX1NURF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjEyODozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90 eXBlID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmluZSBydGVf Y3B1X3RvX2xlXzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 ODM6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQogIEhXUk1f UFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNDE6MTE6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNf Y2ZnX291dHB1dOKAmQogICBpZiAocmVzcC0+ZXJyb3JfY29kZSkgeyBcCiAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTg2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX0NIRUNLX1JFU1VM VOKAmQogIEhXUk1fQ0hFQ0tfUkVTVUxUOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1MjoyOTogZXJyb3I6IHVudXNlZCB2 YXJpYWJsZSDigJhyZXHigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTM6MTA6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAg ICAgICAgICBpbnQgbnVtX3ZmcykKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBvcHVs YXRlX3ZmX2Z1bmNfY2ZnX3JlceKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5NTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKA mQogIHJlcS0+ZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX01UVSB8CiAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5 NTozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFXigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLT5lbmFibGVzID0gcnRlX2Nw dV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmlu ZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1OTY6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2Rl ZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1OTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f UlNTQ09TX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhTIHwKICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTg6NDogZXJyb3I6IOKAmEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05V TV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTU5OTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJ TkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9i eXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2Nw dV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDA6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdT IHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDE6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1PigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQog I2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE2MDI6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAg IEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYUyB8CiAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAzOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDUyB8 CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFw cC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8z Mih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA0OjQ6IGVycm9y OiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBTKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MjU6MTA6IGVycm9yOiDigJhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qg Wy1XZXJyb3JdCiAgICAgICAgICBpbnQgdmYpCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDi gJhhZGRfcmFuZG9tX21hY19pZl9uZWVkZWTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDM6MTE6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV04oCZCiAgICBjZmdfcmVxLT5lbmFibGVzIHw9IHJ0ZV9jcHVfdG9fbGVfMzIoCiAgICAg ICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY0NDo1OiBlcnJvcjog 4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFLigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9F TkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQog I2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NTU6MTE6IGVycm9yOiDigJhzdHJ1Y3QgaHdy bV9mdW5jX2NmZ19pbnB1dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJy b3JdCiAgICAgICAgICAgaW50IHZmKQogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmHJl c2VydmVfcmVzb3VyY2VzX2Zyb21fdmbigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2Njg6MjY6IGVycm9yOiBwYXNzaW5nIGFy Z3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0aWJs ZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgIGNv cHlfZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTI0OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV0ICrigJkKIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NzI6MjY6IGVy cm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBm cm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50 ZXItdHlwZXNdCiAgIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjEzOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkKIHN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdf dG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOiBJbiBmdW5jdGlvbiDigJhibnh0X2h3cm1fYWxsb2NhdGVfdmZz4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5Ojk6 IGVycm9yOiB2YXJpYWJsZSDigJhyZXHigJkgaGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRl IHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTcyOTozNjogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIg Wy1XZXJyb3JdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6MzY6IG5vdGU6IChuZWFyIGlu aXRpYWxpemF0aW9uIGZvciDigJhyZXHigJkpCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6Mjk6IGVycm9yOiBzdG9yYWdlIHNp emUgb2Yg4oCYcmVx4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEucmVxX3R5cGUgPSBy dGVfY3B1X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMTozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzE24oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9f bGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc2NDozOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9QUkVQ4oCZCiAgIEhXUk1fUFJFUChy ZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MDo1OiBlcnJvcjog4oCYSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFLigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RG TFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE3NzI6MTc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX291dHB1dOKAmQogICBpZiAocmMgfHwgcmVzcC0+ZXJy b3JfY29kZSkgewogICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHVudXNlZCB2 YXJpYWJsZSDigJhyZXHigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNp cGUgZm9yIHRhcmdldCAnYm54dF9od3JtLm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2JueHQnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2Mzog cmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc2RrYnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEy NDogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9p bnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGty b290Lm1rOjEwMzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBC dWlsZCAjMTI6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj YwpQTURJTkZPIGJueHRfZXRoZGV2Lm8ucG1kLmMgIExEIGJueHRfZXRoZGV2Lm8vaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI1OjE1 OiBlcnJvcjog4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRl IHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogICAgICAgIHN0cnVjdCBod3JtX2Z1bmNfcWNhcHNf b3V0cHV0ICpxY2FwcykKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI1OjE1OiBlcnJvcjogaXRzIHNj b3BlIGlzIG9ubHkgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGljaCBpcyBwcm9i YWJseSBub3Qgd2hhdCB5b3Ugd2FudCBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGNvcHlf ZnVuY19jZmdfdG9fcWNhcHPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Mjc6MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZ CiAgcWNhcHMtPm1heF9yc3Njb3NfY3R4ID0gZmNmZy0+bnVtX3Jzc2Nvc19jdHhzOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhibnh0X2h3cm1fcGZf ZnVuY19jZmfigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1NTI6OTogZXJyb3I6IHZhcmlhYmxlIOKAmHJlceKAmSBoYXMgaW5p dGlhbGl6ZXIgYnV0IGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0 IHJlcSA9IHswfTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjM2OiBlcnJvcjogZXhjZXNzIGVsZW1lbnRz IGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19p bnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTU1MjozNjogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHJlceKAmSkKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1 MjoyOTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyZXHigJkgaXNu4oCZdCBrbm93bgogIHN0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU2OjMzOiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVeKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEuZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIo SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVf dG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Njoz Mzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KICByZXEuZW5hYmxlcyA9IHJ0ZV9jcHVf dG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5l IHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU1Nzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVeKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19NUlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNk ZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTU4OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X1JTU0NPU19DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog ICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYUyB8CiAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTk6NDogZXJyb3I6IOKAmEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9TVEFUX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZp bmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNTYwOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NN UExfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MgfAogICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYxOjQ6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9U WF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVf Y3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 NjI6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1Pi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVv cmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3Rv X2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTU2Mzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX05VTV9MMl9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIo eCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2NDo0OiBlcnJvcjog 4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fVk5JQ1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTY1OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJ TkdfR1JQU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBTKTsKICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2ODo0OiBlcnJvcjog4oCYSFdSTV9G VU5DX0NGR19JTlBVVF9GTEFHU19TVERfVFhfUklOR19NT0RFX0VOQUJMReKAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRkxB R1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEUpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxMjg6MzQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZH4oCZIHVuZGVj bGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5yZXFfdHlwZSA9IHJ0ZV9j cHVfdG9fbGVfMTYoSFdSTV8jI3R5cGUpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1ODM6Mjogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQogIEhXUk1fUFJFUChyZXEs IEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNDE6MTE6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX291dHB1 dOKAmQogICBpZiAocmVzcC0+ZXJyb3JfY29kZSkgeyBcCiAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTg2OjI6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX0NIRUNLX1JFU1VMVOKAmQogIEhX Uk1fQ0hFQ0tfUkVTVUxUOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1MjoyOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDi gJhyZXHigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBBdCB0 b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1OTM6MTA6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAgICAgICBp bnQgbnVtX3ZmcykKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBvcHVsYXRlX3ZmX2Z1 bmNfY2ZnX3JlceKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU5NTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKAmQogIHJlcS0+ ZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01U VSB8CiAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5NTozNDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLT5lbmFibGVzID0gcnRlX2NwdV90b19sZV8z MihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9j cHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5 Njo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVeKAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19NUlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTk3OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NP U19DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYUyB8CiAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTg6NDogZXJyb3I6IOKAmEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9T VEFUX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRl X2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTk5OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklO R1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVf Ynl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9j cHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAwOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5H UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3Rv X2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDE6NDog ZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1PigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTYwMjo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX05VTV9MMl9DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMzo0OiBlcnJvcjog4oCYSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f Vk5JQ1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2Nw dV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA0 OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQ U+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBTKTsKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYyNToxMDogZXJy b3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJh bWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCB2ZikKICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IElu IGZ1bmN0aW9uIOKAmGFkZF9yYW5kb21fbWFjX2lmX25lZWRlZOKAmToKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY0MzoxMTogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3 cm1fZnVuY19jZmdfaW5wdXTigJkKICAgIGNmZ19yZXEtPmVuYWJsZXMgfD0gcnRlX2NwdV90b19s ZV8zMigKICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0 OjU6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0 ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVf dG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjU1OjExOiBlcnJvcjog 4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRl ciBsaXN0IFstV2Vycm9yXQogICAgICAgICAgIGludCB2ZikKICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBm dW5jdGlvbiDigJhyZXNlcnZlX3Jlc291cmNlc19mcm9tX3Zm4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjY4OjI2OiBlcnJv cjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGNvcHlfZnVuY19jZmdfdG9fcWNhcHPigJkgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogICBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKGNmZ19yZXEsIHJlc3ApOwogICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3Rv X3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNjcyOjI2OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGNvcHlfZnVuY19jZmdf dG9fcWNhcHPigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29t cGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKGNmZ19yZXEs IHJlc3ApOwogICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90ZTogZXhw ZWN0ZWQg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJndW1lbnQgaXMg b2YgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMgdm9pZCBj b3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAog ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9od3JtX2FsbG9jYXRlX3Zmc+KA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTcyOTo5OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXplciBi dXQgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9 OwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE3Mjk6MzY6IGVycm9yOiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0 IGluaXRpYWxpemVyIFstV2Vycm9yXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9 IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjM2OiBu b3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcmVx4oCZKQovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjI5OiBlcnJv cjogc3RvcmFnZSBzaXplIG9mIOKAmHJlceKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjEyODozNDogZXJyb3I6IOKAmEhXUk1f RlVOQ19DRkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVx LnJlcV90eXBlID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMTozMDog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzE24oCZCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTc2NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9QUkVQ4oCZ CiAgIEhXUk1fUFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MDo1OiBl cnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFLigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xl XzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfb3V0cHV04oCZCiAgIGlm IChyYyB8fCByZXNwLT5lcnJvcl9jb2RlKSB7CiAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjI5 OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJlceKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJv cnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxl LXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdibnh0X2h3cm0ubycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9y IHRhcmdldCAnYm54dCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0 YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUg Zm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcg ZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMzoKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKUE1ESU5GTyBibnh0X2V0aGRldi5vLnBtZC5jICBM RCBibnh0X2V0aGRldi5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAg ICBzdHJ1Y3QgaHdybV9mdW5jX3FjYXBzX291dHB1dCAqcWNhcHMpCiAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTUyNToxNTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3Jd Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOiBJbiBmdW5jdGlvbiDigJhjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3OjMw OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dOKAmQogIHFjYXBzLT5tYXhfcnNzY29zX2N0eCA9IGZjZmct Pm51bV9yc3Njb3NfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4g ZnVuY3Rpb24g4oCYYm54dF9od3JtX3BmX2Z1bmNfY2Zn4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjk6IGVycm9yOiB2 YXJpYWJsZSDigJhyZXHigJkgaGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRlIHR5cGUKICBz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjoz NjogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3Jd CiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6MzY6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0 aW9uIGZvciDigJhyZXHigJkpCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6Mjk6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCY cmVx4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7 MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTU1NjozMzogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLmVu YWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUg fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NTY6MzM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlm aWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGlu CiAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1ODo0OiBlcnJvcjog4oCYSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fUlNTQ09TX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBu b3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZp bmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNTU5OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NU QVRfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9D TVBMX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTU2MTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5H U+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0 ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVf dG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYyOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8 CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fTDJfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6 MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQog I2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1NjQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fVk5JQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2NTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hX X1JJTkdfR1JQUyk7CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBy dGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1Njg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdf TU9ERV9FTkFCTEXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdTX1NURF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIo eCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJvcjog 4oCYSFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICByZXEucmVxX3R5cGUgPSBydGVfY3B1X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6 MTAxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMTbi gJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTgzOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JN X1BSRVDigJkKICBIV1JNX1BSRVAocmVxLCBGVU5DX0NGRywgLTEsIHJlc3ApOwogIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTQx OjExOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhz dHJ1Y3QgaHdybV9mdW5jX2NmZ19vdXRwdXTigJkKICAgaWYgKHJlc3AtPmVycm9yX2NvZGUpIHsg XAogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU4NjoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY SFdSTV9DSEVDS19SRVNVTFTigJkKICBIV1JNX0NIRUNLX1JFU1VMVDsKICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6Mjk6 IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcmVx4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJs ZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTkzOjEwOiBlcnJvcjog4oCY c3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBs aXN0IFstV2Vycm9yXQogICAgICAgICAgaW50IG51bV92ZnMpCiAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBm dW5jdGlvbiDigJhwb3B1bGF0ZV92Zl9mdW5jX2NmZ19yZXHigJk6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTU6NTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXTigJkKICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1OTU6MzQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJM RVNfTVRV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS0+ ZW5hYmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01U VSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90 b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTY6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5Nzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNT Q09TX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRl X2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NTk4OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RY U+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5OTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJ TkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVf dG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMDo0 OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HU+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNjAxOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTlVNX1JYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8CiAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2Yg bWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgp ICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDI6NDogZXJyb3I6IOKA mEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fTDJfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5v dGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmlu ZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE2MDM6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5J Q1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVv cmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3Rv X2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTYwNDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdf R1JQUyk7CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1 X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBBdCB0 b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE2MjU6MTA6IGVycm9yOiDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAgICAgICBp bnQgdmYpCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhhZGRfcmFuZG9tX21hY19pZl9u ZWVkZWTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE2NDM6MTE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZCiAgICBjZmdfcmVx LT5lbmFibGVzIHw9IHJ0ZV9jcHVfdG9fbGVfMzIoCiAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTY0NDo1OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBV VF9FTkFCTEVTX0RGTFRfTUFDX0FERFLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIp OwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9f bGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBs ZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTY1NToxMTogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAgICBpbnQg dmYpCiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYcmVzZXJ2ZV9yZXNvdXJjZXNfZnJv bV92ZuKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTY2ODoyNjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJhjb3B5 X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdl cnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgY29weV9mdW5jX2NmZ190b19xY2Fw cyhjZmdfcmVxLCByZXNwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6MTM6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmQogc3Rh dGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCAqZmNmZywKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY3MjoyNjogZXJyb3I6IHBhc3NpbmcgYXJndW1l bnQgMSBvZiDigJhjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgY29weV9m dW5jX2NmZ190b19xY2FwcyhjZmdfcmVxLCByZXNwKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1MjQ6MTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lu cHV0ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdf aW5wdXQgKuKAmQogc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdy bV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKA mGJueHRfaHdybV9hbGxvY2F0ZV92ZnPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJyb3I6IHZhcmlhYmxlIOKA mHJlceKAmSBoYXMgaW5pdGlhbGl6ZXIgYnV0IGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjM2OiBlcnJvcjog ZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KICBzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTcyOTozNjogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKA mHJlceKAmSkKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyZXHigJkgaXNu 4oCZdCBrbm93bgogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxMjg6MzQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZH4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5yZXFfdHlwZSA9IHJ0ZV9jcHVfdG9fbGVfMTYoSFdS TV8jI3R5cGUpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDE6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCY cnRlX2NwdV90b19sZV8xNuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzE2KHgpICh4KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3NjQ6Mzogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmEhXUk1fUFJFUOKAmQogICBIV1JNX1BSRVAocmVxLCBGVU5DX0NGRywgLTEs IHJlc3ApOwogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE3NzA6NTogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19ERkxUX01BQ19BRERS4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19ERkxUX01BQ19BRERSKTsKICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMy KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3NzI6MTc6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX291dHB1dOKAmQogICBpZiAocmMgfHwgcmVzcC0+ZXJyb3JfY29kZSkgewogICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhyZXHi gJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0 IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5p bmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAn Ym54dF9od3JtLm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2JueHQnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJn ZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr YnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyNDogcmVjaXBlIGZvciB0 YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMzogcmVj aXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTQ6Ck9TOiBV QjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nClBNRElORk8gYm54 dF9ldGhkZXYuby5wbWQuYyAgTEQgYm54dF9ldGhkZXYuby9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IGVycm9yOiBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnIHdpbGwgbm90IGJlIHZpc2li bGUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0eV0Kc3RhdGlj IHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq ZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3 OjMwOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfcnNzY29zX2N0eCA9IGZjZmctPm51bV9y c3Njb3NfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0 OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19p bnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTI4OjMzOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIG1lbWNweShxY2Fwcy0+bWFjX2FkZHJl c3MsIGZjZmctPmRmbHRfbWFjX2FkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMo c3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMDoyNzogZXJyb3I6IGluY29tcGxldGUgZGVmaW5p dGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBxY2Fwcy0+ bWF4X2wyX2N0eHMgPSBmY2ZnLT5udW1fbDJfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2Fw cyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMxOjI4OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZp bml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBz LT5tYXhfcnhfcmluZ3MgPSBmY2ZnLT5udW1fcnhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3Rv X3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MzI6Mjg6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAg cWNhcHMtPm1heF90eF9yaW5ncyA9IGZjZmctPm51bV90eF9yaW5nczsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19j ZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMzozMDogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAg ICAgICBxY2Fwcy0+bWF4X2NtcGxfcmluZ3MgPSBmY2ZnLT5udW1fY21wbF9yaW5nczsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQg Y29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM0OjI4OiBl cnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfc3RhdF9jdHggPSBmY2ZnLT5udW1fc3RhdF9jdHhz OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBm b3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGlj IHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq ZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM3 OjI1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhfdm5pY3MgPSBmY2ZnLT5udW1fdm5pY3M7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5vdGU6IGZvcndh cmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwpzdGF0aWMgdm9p ZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2Zn LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDU6MzM6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQnCiAgICAgICAgcWNhcHMtPm1heF9tY2FzdF9maWx0ZXJzID0gZmNmZy0+bnVtX21j YXN0X2ZpbHRlcnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTU0NzozMjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBxY2Fwcy0+bWF4X2h3X3Jpbmdf Z3JwcyA9IGZjZmctPm51bV9od19yaW5nX2dycHM7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19x Y2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogdmFyaWFibGUgaGFz IGluY29tcGxldGUgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgc3Ry dWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19p bnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1NjozMzogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUn CiAgICAgICAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1NTc6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19NUlUnCiAgICAgICAgICAgICAgICAgICAgICAgIEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19NUlUgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 NTg6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMnCiAgICAgICAgICAgICAgICAgICAgICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMgfAogICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1NTk6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTJwogICAgICAgICAg ICAgICAgICAgICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYUyB8 CiAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjogdXNlIG9mIHVuZGVj bGFyZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJ TkdTJwogICAgICAgICAgICAgICAgICAgICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TlVNX0NNUExfUklOR1MgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjE6NDogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fVFhfUklOR1MnCiAgICAgICAgICAgICAgICAgICAgICAgIEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1NjI6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0hXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1MnCiAgICAgICAgICAgICAgICAgICAgICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1MgfAogICAgICAgICAgICAgICAg ICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcg bm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdibnh0X2h3cm0ubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnYm54dCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiBy ZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0 OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2lu c3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jv b3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1 aWxkICMxNToKT1M6IENlbnRPUzdfNjQKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MK UE1ESU5GTyBibnh0X2V0aGRldi5vLnBtZC5jICBMRCBibnh0X2V0aGRldi5vL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTog ZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICBzdHJ1Y3QgaHdybV9mdW5jX3FjYXBzX291 dHB1dCAqcWNhcHMpCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTogZXJyb3I6IGl0cyBzY29w ZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFi bHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhjb3B5X2Z1 bmNfY2ZnX3RvX3FjYXBz4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3OjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfcnNzY29zX2N0eCA9IGZjZmctPm51 bV9yc3Njb3NfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI4OjMz OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIG1lbWNw eShxY2Fwcy0+bWFjX2FkZHJlc3MsIGZjZmctPmRmbHRfbWFjX2FkZHIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMDoyNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X2wyX2N0eHMgPSBmY2ZnLT5udW1f bDJfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMxOjI4OiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfcnhf cmluZ3MgPSBmY2ZnLT5udW1fcnhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1MzI6Mjg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlCiAgcWNhcHMtPm1heF90eF9yaW5ncyA9IGZjZmctPm51bV90eF9yaW5nczsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMzozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X2NtcGxfcmluZ3MgPSBmY2ZnLT5u dW1fY21wbF9yaW5nczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM0OjI4 OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBz LT5tYXhfc3RhdF9jdHggPSBmY2ZnLT5udW1fc3RhdF9jdHhzOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTM3OjI1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfdm5pY3MgPSBmY2ZnLT5udW1fdm5pY3M7CiAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDU6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNhcHMtPm1heF9tY2FzdF9maWx0ZXJzID0gZmNm Zy0+bnVtX21jYXN0X2ZpbHRlcnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU0NzozMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICBxY2Fwcy0+bWF4X2h3X3JpbmdfZ3JwcyA9IGZjZmctPm51bV9od19yaW5nX2dycHM7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9o d3JtX3BmX2Z1bmNfY2Zn4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjk6IGVycm9yOiB2YXJpYWJsZSDigJhyZXHigJkg aGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjogZXhjZXNzIGVs ZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjog KG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHJlceKAmSkgWy1XZXJyb3JdCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6Mjk6 IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcmVx4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1NjozMzogZXJyb3I6IOKA mEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFw cC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8z Mih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU2OjMzOiBub3Rl OiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVh Y2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgogIHJlcS5lbmFibGVzID0gcnRlX2NwdV90b19sZV8z MihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVf dG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Nzo0 OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVeKAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19NUlUgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9j cHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1 ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RY U+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1OTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RY UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19s ZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYwOjQ6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1PigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTlVNX0NNUExfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU2MTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX05VTV9UWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2Mjo0OiBlcnJvcjog4oCYSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19O VU1fUlhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTU2Mzo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhT 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9MMl9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NjQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fVk5JQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTIHwKICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjU6NDogZXJyb3I6IOKAmEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9IV19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v aTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVm aW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTU2ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9GTEFHU19TVERfVFhf UklOR19NT0RFX0VOQUJMReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEUp OwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlv biBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVf MzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJv cjog4oCYSFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICByZXEucmVxX3R5cGUgPSBydGVfY3B1X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5o OjEwMTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzE2 4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTU4MzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdS TV9QUkVQ4oCZCiAgSFdSTV9QUkVQKHJlcSwgRlVOQ19DRkcsIC0xLCByZXNwKTsKICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE0 MToxMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAg aWYgKHJlc3AtPmVycm9yX2NvZGUpIHsgXAogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU4NjoyOiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9DSEVDS19SRVNVTFTigJkKICBIV1JNX0NIRUNL X1JFU1VMVDsKICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNDI6MzA6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICByYyA9IHJ0 ZV9sZV90b19jcHVfMTYocmVzcC0+ZXJyb3JfY29kZSk7IFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwOTozMDogbm90ZTogaW4gZGVmaW5p dGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAjZGVmaW5lIHJ0ZV9sZV90b19j cHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU4NjoyOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9DSEVDS19SRVNVTFTigJkKICBIV1JN X0NIRUNLX1JFU1VMVDsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6Mjk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCY cmVx4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19p bnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogQXQgdG9w IGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTkzOjEwOiBlcnJvcjog4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTi gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogICAgICAgICAgaW50 IG51bV92ZnMpCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhwb3B1bGF0ZV92Zl9mdW5j X2NmZ19yZXHigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1OTU6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVO Q19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE1OTU6MzQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TVRV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS0+ZW5h YmxlcyA9IHJ0ZV9jcHVfdG9fbGVfMzIoSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVSB8 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTk2OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTVJV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVSB8CiAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9y ZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9f bGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk3OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1JTU0NPU19DVFhT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RY UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19s ZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk4OjQ6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYU+KAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDox MDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKA mQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1OTk6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fQ01QTF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HUyB8CiAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2Mv aW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1h Y3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAo eCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAwOjQ6IGVycm9yOiDigJhI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9UWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNjAxOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJ TkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0 ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVf dG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAyOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfTlVNX0wyX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0wyX0NUWFMgfAog ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIo eCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMzo0OiBlcnJvcjog 4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDU+KAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19OVU1fVk5JQ1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTYwNDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5H X0dSUFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQUyk7CiAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA2OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5tdHUgPSBydGVfY3B1X3RvX2xlXzE2 KGJwLT5ldGhfZGV2LT5kYXRhLT5tdHUgKwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwODo1OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+bXJ1ID0gcnRlX2NwdV90 b19sZV8xNihicC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ICsKICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTA6NTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9yc3Nj b3NfY3R4cyA9CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNjEyOjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fc3RhdF9jdHhzID0gcnRlX2NwdV90b19sZV8x NihicC0+bWF4X3N0YXRfY3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjEzOjU6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1f Y21wbF9yaW5ncyA9CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdHhfcmluZ3MgPSBydGVfY3B1X3RvX2xl XzE2KGJwLT5tYXhfdHhfcmluZ3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTY6NTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51 bV9yeF9yaW5ncyA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPm1heF9yeF9yaW5ncyAvIChudW1fdmZz ICsgMSkpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTYxNzo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHJlcS0+bnVtX2wyX2N0eHMgPSBydGVfY3B1X3RvX2xlXzE2KGJw LT5tYXhfbDJfY3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE4OjU6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdm5pY3Mg PSBydGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhfdm5pY3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE2MTk6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICByZXEtPm51bV9od19yaW5nX2dycHMgPQogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTYyNToxMDogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCB2ZikKICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGFkZF9yYW5kb21fbWFjX2lmX25lZWRlZOKAmToKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTY0MzoxMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUK ICAgIGNmZ19yZXEtPmVuYWJsZXMgfD0gcnRlX2NwdV90b19sZV8zMigKICAgICAgICAgICBeCklu IGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0OjU6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZM VF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTY0NToyNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUK ICAgIGV0aF9yYW5kb21fYWRkcihjZmdfcmVxLT5kZmx0X21hY19hZGRyKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ3OjE4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogICAgbWVtY3B5KGNmZ19yZXEtPmRmbHRfbWFjX2FkZHIsCiAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY1NToxMTogZXJyb3I6IOKA mHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCBbLVdlcnJvcl0KICAgICAgICAgICBpbnQgdmYpCiAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVu Y3Rpb24g4oCYcmVzZXJ2ZV9yZXNvdXJjZXNfZnJvbV92ZuKAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY2ODozOiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGNvcHlfZnVuY19jZmdfdG9fcWNhcHPigJkgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogICBjb3B5X2Z1bmNfY2ZnX3RvX3Fj YXBzKGNmZ19yZXEsIHJlc3ApOwogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6MTM6IG5vdGU6IGV4cGVjdGVkIOKAmHN0 cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY c3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmQogc3RhdGljIHZvaWQgY29weV9mdW5jX2Nm Z190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTY3MjozOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGNvcHlfZnVuY19j ZmdfdG9fcWNhcHPigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQog ICBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKGNmZ19yZXEsIHJlc3ApOwogICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6MTM6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICrigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmQogc3Rh dGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCAqZmNmZywKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGJueHRfaHdybV9hbGxv Y2F0ZV92ZnPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJyb3I6IHZhcmlhYmxlIOKAmHJlceKAmSBoYXMgaW5p dGlhbGl6ZXIgYnV0IGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0 IHJlcSA9IHswfTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5Ojk6IGVycm9yOiBleGNlc3MgZWxlbWVudHMg aW4gc3RydWN0IGluaXRpYWxpemVyIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5Ojk6IGVycm9yOiAobmVhciBp bml0aWFsaXphdGlvbiBmb3Ig4oCYcmVx4oCZKSBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcyOToyOTogZXJyb3I6 IHN0b3JhZ2Ugc2l6ZSBvZiDigJhyZXHigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCklu IGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxMjg6MzQ6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZH4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHJlcS5y ZXFfdHlwZSA9IHJ0ZV9jcHVfdG9fbGVfMTYoSFdSTV8jI3R5cGUpOyBcCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAxOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMTbigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNzY0OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX1BSRVDigJkKICAg SFdSTV9QUkVQKHJlcSwgRlVOQ19DRkcsIC0xLCByZXNwKTsKICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzcwOjU6IGVycm9y OiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1bmRlY2xh cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICAgaWYgKHJjIHx8IHJlc3AtPmVycm9yX2NvZGUpIHsKICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE3Mjk6Mjk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcmVx4oCZIFstV2Vy cm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7 MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMTY6Ck9TOiBDZW50T1M3XzY0ClRh cmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpQTURJTkZPIGJueHRfZXRoZGV2Lm8u cG1kLmMgIExEIGJueHRfZXRoZGV2Lm8vaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBlcnJvcjogZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUg b2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCnN0YXRpYyB2b2lkIGNvcHlf ZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNzozMDogZXJyb3I6 IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCcKICAgICAgICBxY2Fwcy0+bWF4X3Jzc2Nvc19jdHggPSBmY2ZnLT5udW1fcnNzY29zX2N0eHM7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTog Zm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRp YyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQg KmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUy ODozMzogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9m dW5jX2NmZ19pbnB1dCcKICAgICAgICBtZW1jcHkocWNhcHMtPm1hY19hZGRyZXNzLCBmY2ZnLT5k Zmx0X21hY19hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1MjQ6NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNf Y2ZnX2lucHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3Jt X2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1MzA6Mjc6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlw ZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgcWNhcHMtPm1heF9sMl9jdHhz ID0gZmNmZy0+bnVtX2wyX2N0eHM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fl4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVu Y19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3 cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2Ju eHQvYm54dF9od3JtLmM6MTUzMToyODogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0 eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAgICAgICBxY2Fwcy0+bWF4X3J4X3Jp bmdzID0gZmNmZy0+bnVtX3J4X3JpbmdzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+ fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaHdy bV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5jX2NmZ190b19xY2FwcyhzdHJ1 Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMyOjI4OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9u IG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHFjYXBzLT5tYXhf dHhfcmluZ3MgPSBmY2ZnLT5udW1fdHhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV0JwpzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz KHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MzM6MzA6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmlu aXRpb24gb2YgdHlwZSAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgcWNhcHMt Pm1heF9jbXBsX3JpbmdzID0gZmNmZy0+bnVtX2NtcGxfcmluZ3M7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19j ZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzNDoyODogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKICAg ICAgICBxY2Fwcy0+bWF4X3N0YXRfY3R4ID0gZmNmZy0+bnVtX3N0YXRfY3R4czsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlf ZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzNzoyNTogZXJyb3I6 IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1 dCcKICAgICAgICBxY2Fwcy0+bWF4X3ZuaWNzID0gZmNmZy0+bnVtX3ZuaWNzOwogICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI0OjQzOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCcKc3RhdGljIHZvaWQgY29weV9mdW5j X2NmZ190b19xY2FwcyhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAqZmNmZywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTQ1OjMzOiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0Jwog ICAgICAgIHFjYXBzLT5tYXhfbWNhc3RfZmlsdGVycyA9IGZjZmctPm51bV9tY2FzdF9maWx0ZXJz OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MjQ6NDM6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0Jwpz dGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lu cHV0ICpmY2ZnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5j OjE1NDc6MzI6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGh3 cm1fZnVuY19jZmdfaW5wdXQnCiAgICAgICAgcWNhcHMtPm1heF9od19yaW5nX2dycHMgPSBmY2Zn LT5udW1faHdfcmluZ19ncnBzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9o d3JtLmM6MTUyNDo0Mzogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXQnCnN0YXRpYyB2b2lkIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgKmZjZmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTU1MjoyOTogZXJyb3I6IHZhcmlhYmxlIGhhcyBpbmNvbXBsZXRl IHR5cGUgJ3N0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0JwogICAgICAgIHN0cnVjdCBod3JtX2Z1 bmNfY2ZnX2lucHV0IHJlcSA9IHswfTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1NTI6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGh3cm1f ZnVuY19jZmdfaW5wdXQnCiAgICAgICAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0g ezB9OwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTY6MzM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVJwogICAgICAgIHJl cS5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNf TVRVIHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9pbmNsdWRl L3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9j cHVfdG9fbGVfMzInCiNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ0hXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlUnCiAgICAgICAgICAgICAg ICAgICAgICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlUgfAogICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogZXhw YW5kZWQgZnJvbSBtYWNybyAncnRlX2NwdV90b19sZV8zMicKI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1ODo0OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX05VTV9SU1NDT1NfQ1RYUycKICAgICAgICAgICAgICAgICAgICAgICAgSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYUyB8CiAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwojZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU5OjQ6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NU QVRfQ1RYUycKICAgICAgICAgICAgICAgICAgICAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX05VTV9TVEFUX0NUWFMgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2Nw dV90b19sZV8zMicKI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRl bnRpZmllciAnSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTJwogICAg ICAgICAgICAgICAgICAgICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0NNUExf UklOR1MgfAogICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUvcnRlX2J5dGVvcmRl ci5oOjEwMjozMDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAncnRlX2NwdV90b19sZV8zMicK I2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTU2MTo0OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSFdS TV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUycKICAgICAgICAgICAgICAgICAg ICAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HUyB8CiAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBleHBhbmRlZCBmcm9tIG1hY3JvICdydGVfY3B1X3RvX2xlXzMyJwojZGVmaW5lIHJ0ZV9jcHVf dG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYyOjQ6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1JYX1JJTkdTJwogICAgICAgICAgICAgICAgICAgICAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdTIHwKICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ3J0ZV9jcHVfdG9fbGVfMzInCiNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJv cnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVy YXRlZC4KCgpGYWlsZWQgQnVpbGQgIzE3OgpPUzogQ2VudE9TN182NApUYXJnZXQ6IHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKUE1ESU5GTyBibnh0X2V0aGRldi5vLnBtZC5jICBM RCBibnh0X2V0aGRldi5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAg ICBzdHJ1Y3QgaHdybV9mdW5jX3FjYXBzX291dHB1dCAqcWNhcHMpCiAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTUyNToxNTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBk ZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3Jd Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOiBJbiBmdW5jdGlvbiDigJhjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBz4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3OjMw OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBz LT5tYXhfcnNzY29zX2N0eCA9IGZjZmctPm51bV9yc3Njb3NfY3R4czsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI4OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogIG1lbWNweShxY2Fwcy0+bWFjX2FkZHJlc3MsIGZjZmctPmRm bHRfbWFjX2FkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMDoy NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fw cy0+bWF4X2wyX2N0eHMgPSBmY2ZnLT5udW1fbDJfY3R4czsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTMxOjI4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHFjYXBzLT5tYXhfcnhfcmluZ3MgPSBmY2ZnLT5udW1fcnhfcmluZ3M7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1MzI6Mjg6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNhcHMtPm1heF90eF9yaW5ncyA9IGZj ZmctPm51bV90eF9yaW5nczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMzoz MDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fw cy0+bWF4X2NtcGxfcmluZ3MgPSBmY2ZnLT5udW1fY21wbF9yaW5nczsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM0OjI4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfc3RhdF9jdHggPSBmY2ZnLT5udW1fc3Rh dF9jdHhzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM3OjI1OiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfdm5p Y3MgPSBmY2ZnLT5udW1fdm5pY3M7CiAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDU6 MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNh cHMtPm1heF9tY2FzdF9maWx0ZXJzID0gZmNmZy0+bnVtX21jYXN0X2ZpbHRlcnM7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU0NzozMjogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X2h3X3JpbmdfZ3JwcyA9 IGZjZmctPm51bV9od19yaW5nX2dycHM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9od3JtX3BmX2Z1bmNfY2Zn4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjk6 IGVycm9yOiB2YXJpYWJsZSDigJhyZXHigJkgaGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRl IHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU1Mjo5OiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBb LVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHJl ceKAmSkgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1NTI6Mjk6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcmVx 4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTU1NjozMzogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19N VFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLmVuYWJs ZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1NTY6MzM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy IGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCiAg cmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxF U19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9i eXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2Nw dV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19NUlXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhy dGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5D X0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1NDT1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f UlNTQ09TX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUg cnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNTU5OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRf Q1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fU1RBVF9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBM X1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9j cHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2 MTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HU+KA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19D RkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9y ZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9f bGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYyOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1JYX1JJTkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8CiAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMy KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6 IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fTDJfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2Rl ZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE1NjQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f Vk5JQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2NTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJ TkdfR1JQUyk7CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVf Y3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 Njg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9E RV9FTkFCTEXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdTX1NURF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkg KHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTI4OjM0OiBlcnJvcjog4oCY SFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICByZXEucmVxX3R5cGUgPSBydGVfY3B1X3RvX2xlXzE2KEhXUk1fIyN0eXBlKTsgXAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAx OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMTbigJkK ICNkZWZpbmUgcnRlX2NwdV90b19sZV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTgzOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX1BS RVDigJkKICBIV1JNX1BSRVAocmVxLCBGVU5DX0NGRywgLTEsIHJlc3ApOwogIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTQxOjEx OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBpZiAo cmVzcC0+ZXJyb3JfY29kZSkgeyBcCiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTg2OjI6IG5vdGU6IGluIGV4 cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX0NIRUNLX1JFU1VMVOKAmQogIEhXUk1fQ0hFQ0tfUkVT VUxUOwogIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE0MjozMDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIHJjID0gcnRlX2xl X3RvX2NwdV8xNihyZXNwLT5lcnJvcl9jb2RlKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDk6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1 XzE2KHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1ODY6Mjogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEhXUk1fQ0hFQ0tfUkVTVUxU4oCZCiAgSFdSTV9D SEVDS19SRVNVTFQ7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJl ceKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5w dXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBs ZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTU5MzoxMDogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCBu dW1fdmZzKQogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYcG9wdWxhdGVfdmZfZnVuY19j ZmdfcmVx4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTk1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgcmVxLT5lbmFibGVzID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoz NDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNTk1OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01U VeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEtPmVuYWJs ZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVf MzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv Ym54dC9ibnh0X2h3cm0uYzoxNTk2OjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VO QUJMRVNfTVJV4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01SVSB8CiAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRl b3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90 b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5Q VVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19D VFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVm aW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVf dG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5ODo0 OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFPigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1OTk6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fQ01QTF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HUyB8 CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDA6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklOR1PigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTlVNX1RYX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTYwMTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X05VTV9SWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlhfUklOR1MgfAogICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5j bHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAyOjQ6IGVycm9yOiDigJhIV1JN X0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0wyX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X0wyX0NUWFMgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRl X2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NjAzOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9WTklDUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE2MDQ6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fSFdfUklOR19HUlBT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFMp OwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19s ZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA2OjU6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5tdHUg PSBydGVfY3B1X3RvX2xlXzE2KGJwLT5ldGhfZGV2LT5kYXRhLT5tdHUgKwogICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYw ODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJl cS0+bXJ1ID0gcnRlX2NwdV90b19sZV8xNihicC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ICsKICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE2MTA6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICByZXEtPm51bV9yc3Njb3NfY3R4cyA9CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjEyOjU6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fc3RhdF9jdHhz ID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4X3N0YXRfY3R4IC8gKG51bV92ZnMgKyAxKSk7CiAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNjEzOjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcmVxLT5udW1fY21wbF9yaW5ncyA9CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE1OjU6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdHhfcmlu Z3MgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhfdHhfcmluZ3MgLyAobnVtX3ZmcyArIDEpKTsK ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2Ju eHRfaHdybS5jOjE2MTY6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUKICByZXEtPm51bV9yeF9yaW5ncyA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPm1heF9y eF9yaW5ncyAvIChudW1fdmZzICsgMSkpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYxNzo1OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+bnVtX2wyX2N0eHMgPSBy dGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhfbDJfY3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNjE4OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgcmVxLT5udW1fdm5pY3MgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhfdm5pY3MgLyAobnVt X3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTk6NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9od19yaW5nX2dycHMgPQogICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTYyNToxMDogZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2Zn X2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAg ICAgIGludCB2ZikKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEluIGZ1bmN0aW9uIOKAmGFkZF9yYW5kb21fbWFj X2lmX25lZWRlZOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2JueHQvYm54dF9od3JtLmM6MTY0MzoxMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgIGNmZ19yZXEtPmVuYWJsZXMgfD0gcnRlX2NwdV90b19sZV8z MigKICAgICAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0OjU6 IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZH X0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9y ZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9f bGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ1OjI3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogICAgZXRoX3JhbmRvbV9hZGRyKGNmZ19yZXEtPmRmbHRfbWFj X2FkZHIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2NDc6MTg6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICBtZW1jcHkoY2ZnX3Jl cS0+ZGZsdF9tYWNfYWRkciwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogQXQgdG9wIGxldmVsOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0u YzoxNjU1OjExOiBlcnJvcjog4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFy ZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogICAgICAgICAgIGludCB2ZikKICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhyZXNlcnZlX3Jlc291cmNlc19mcm9tX3Zm4oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNjY4OjM6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2Nm Z190b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAg IGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzog bm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJn dW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0 aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0 ICpmY2ZnLAogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjcyOjM6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50 IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUgWy1XZXJyb3JdCiAgIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVz cCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTUyNDoxMzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGh3cm1fZnVuY19j ZmdfaW5wdXQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5j X2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVj dCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rp b24g4oCYYm54dF9od3JtX2FsbG9jYXRlX3Zmc+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTcyOTo5OiBlcnJvcjogdmFyaWFi bGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXplciBidXQgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJy b3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3 Mjk6OTogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhyZXHigJkpIFstV2Vycm9y XQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3 cm0uYzoxNzI5OjI5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmHJlceKAmSBpc27igJl0IGtu b3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjEyODoz NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkfigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90eXBlID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlw ZSk7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzE24oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc2NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYSFdSTV9QUkVQ4oCZCiAgIEhXUk1fUFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7 CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTc3MDo1OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RG TFRfTUFDX0FERFLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg ICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNy byDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgaWYgKHJjIHx8IHJlc3AtPmVy cm9yX2NvZGUpIHsKICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6Mjk6IGVycm9yOiB1bnVzZWQg dmFyaWFibGUg4oCYcmVx4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdy bV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWls ZCAjMTg6Ck9TOiBDZW50T1M3XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MK UE1ESU5GTyBibnh0X2V0aGRldi5vLnBtZC5jICBMRCBibnh0X2V0aGRldi5vL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTog ZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICBzdHJ1Y3QgaHdybV9mdW5jX3FjYXBzX291 dHB1dCAqcWNhcHMpCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNToxNTogZXJyb3I6IGl0cyBzY29w ZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFi bHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDigJhjb3B5X2Z1 bmNfY2ZnX3RvX3FjYXBz4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI3OjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfcnNzY29zX2N0eCA9IGZjZmctPm51 bV9yc3Njb3NfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTI4OjMz OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIG1lbWNw eShxY2Fwcy0+bWFjX2FkZHJlc3MsIGZjZmctPmRmbHRfbWFjX2FkZHIsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMDoyNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X2wyX2N0eHMgPSBmY2ZnLT5udW1f bDJfY3R4czsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTMxOjI4OiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfcnhf cmluZ3MgPSBmY2ZnLT5udW1fcnhfcmluZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdy bS5jOjE1MzI6Mjg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlCiAgcWNhcHMtPm1heF90eF9yaW5ncyA9IGZjZmctPm51bV90eF9yaW5nczsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUzMzozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBxY2Fwcy0+bWF4X2NtcGxfcmluZ3MgPSBmY2ZnLT5u dW1fY21wbF9yaW5nczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTM0OjI4 OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHFjYXBz LT5tYXhfc3RhdF9jdHggPSBmY2ZnLT5udW1fc3RhdF9jdHhzOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNTM3OjI1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogIHFjYXBzLT5tYXhfdm5pY3MgPSBmY2ZnLT5udW1fdm5pY3M7CiAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NDU6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcWNhcHMtPm1heF9tY2FzdF9maWx0ZXJzID0gZmNm Zy0+bnVtX21jYXN0X2ZpbHRlcnM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU0NzozMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICBxY2Fwcy0+bWF4X2h3X3JpbmdfZ3JwcyA9IGZjZmctPm51bV9od19yaW5nX2dycHM7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9o d3JtX3BmX2Z1bmNfY2Zn4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjk6IGVycm9yOiB2YXJpYWJsZSDigJhyZXHigJkg aGFzIGluaXRpYWxpemVyIGJ1dCBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgaHdybV9mdW5jX2Nm Z19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjogZXhjZXNzIGVs ZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1Mjo5OiBlcnJvcjog KG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHJlceKAmSkgWy1XZXJyb3JdCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTI6Mjk6 IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYcmVx4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MzQ6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU1NjozMzogZXJyb3I6IOKA mEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NTY6MzM6IG5v dGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3Ig ZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCiAgcmVxLmVuYWJsZXMgPSBydGVfY3B1X3RvX2xl XzMyKEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGlu IGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVf Y3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1 NTc6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NUlXigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVU X0VOQUJMRVNfTVJVIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5l IHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3Jt LmM6MTU1ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SU1ND T1NfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFMgfAogICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKA mHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTU5OjQ6IGVycm9yOiDigJhIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1f U1RBVF9DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTog aW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0 ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 MTU2MDo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJ TkdT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9G VU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9DTVBMX1JJTkdTIHwKICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVf Y3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2MTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NG R19JTlBVVF9FTkFCTEVTX05VTV9UWF9SSU5HU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVFhfUklO R1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90 b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTYyOjQ6 IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JYX1JJTkdT4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIu aDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8z MuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE1NjM6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fTDJfQ1RYU+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fTDJfQ1RYUyB8CiAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1NjQ6NDogZXJyb3I6IOKAmEhX Uk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fVk5JQ1PigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X1ZOSUNTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9j cHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU2 NTo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dS UFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZV TkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0hXX1JJTkdfR1JQUyk7CiAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRl X2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1Njg6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19D RkdfSU5QVVRfRkxBR1NfU1REX1RYX1JJTkdfTU9ERV9FTkFCTEXigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0ZMQUdTX1NU RF9UWF9SSU5HX01PREVfRU5BQkxFKTsKICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw MjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZ CiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQv Ym54dF9od3JtLmM6MTI4OjM0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICByZXEucmVxX3R5cGUgPSBydGVfY3B1X3Rv X2xlXzE2KEhXUk1fIyN0eXBlKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAxOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9m IG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMTbigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8xNih4 KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTgzOjI6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX1BSRVDigJkKICBIV1JNX1BSRVAocmVxLCBGVU5D X0NGRywgLTEsIHJlc3ApOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTQxOjExOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogICBpZiAocmVzcC0+ZXJyb3JfY29kZSkgeyBcCiAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNTg2OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhIV1JNX0NI RUNLX1JFU1VMVOKAmQogIEhXUk1fQ0hFQ0tfUkVTVUxUOwogIF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjE0MjozMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgIHJjID0gcnRlX2xlX3RvX2NwdV8xNihyZXNwLT5lcnJvcl9jb2Rl KTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDk6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2xlX3RvX2Nw dV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE1ODY6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mEhXUk1fQ0hFQ0tfUkVTVUxU4oCZCiAgSFdSTV9DSEVDS19SRVNVTFQ7CiAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTUyOjI5 OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmHJlceKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5MzoxMDogZXJyb3I6IOKA mHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIg bGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCBudW1fdmZzKQogICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzogSW4g ZnVuY3Rpb24g4oCYcG9wdWxhdGVfdmZfZnVuY19jZmdfcmVx4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjU6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5lbmFibGVz ID0gcnRlX2NwdV90b19sZV8zMihIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVRVIHwKICAg ICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk1OjM0OiBlcnJvcjog4oCY SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX01UVeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICByZXEtPmVuYWJsZXMgPSBydGVfY3B1X3RvX2xlXzMyKEhXUk1f RlVOQ19DRkdfSU5QVVRfRU5BQkxFU19NVFUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19s ZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNTk2OjQ6IGVy cm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTVJV4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVT X01SVSB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRl ZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1 X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTc6 NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fUlNTQ09TX0NUWFPi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1JTU0NPU19DVFhTIHwKICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5 dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1 X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTU5ODo0OiBlcnJvcjog4oCYSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9TVEFUX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1NUQVRfQ1RY UyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3Rv X2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE1OTk6NDog ZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HU+KAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdf SU5QVVRfRU5BQkxFU19OVU1fQ01QTF9SSU5HUyB8CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3Jk ZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19s ZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xlXzMyKHgpICh4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE2MDA6NDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRf RU5BQkxFU19OVU1fVFhfUklOR1PigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1RYX1JJTkdTIHwKICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAjZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIo eCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwMTo0OiBlcnJvcjog 4oCYSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9SWF9SSU5HU+KAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgIEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5B QkxFU19OVU1fUlhfUklOR1MgfAogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNk ZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0 X2h3cm0uYzoxNjAyOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVN X0wyX0NUWFPigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBI V1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfTlVNX0wyX0NUWFMgfAogICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjAzOjQ6IGVycm9yOiDigJhIV1JNX0ZVTkNf Q0ZHX0lOUFVUX0VOQUJMRVNfTlVNX1ZOSUNT4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX05VTV9WTklDUyB8 CiAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDI6MzA6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYcnRlX2NwdV90b19sZV8zMuKAmQogI2RlZmluZSBydGVfY3B1X3RvX2xl XzMyKHgpICh4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MDQ6NDogZXJy b3I6IOKAmEhXUk1fRlVOQ19DRkdfSU5QVVRfRU5BQkxFU19OVU1fSFdfUklOR19HUlBT4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgSFdSTV9GVU5DX0NGR19J TlBVVF9FTkFCTEVTX05VTV9IV19SSU5HX0dSUFMpOwogICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9y ZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9f bGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzoxNjA2OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5tdHUgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5ldGhf ZGV2LT5kYXRhLT5tdHUgKwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYwODo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHJlcS0+bXJ1ID0gcnRlX2NwdV90b19sZV8xNihi cC0+ZXRoX2Rldi0+ZGF0YS0+bXR1ICsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTA6NTogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9yc3Njb3NfY3R4cyA9 CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9i bnh0X2h3cm0uYzoxNjEyOjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgcmVxLT5udW1fc3RhdF9jdHhzID0gcnRlX2NwdV90b19sZV8xNihicC0+bWF4 X3N0YXRfY3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjEzOjU6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fY21wbF9yaW5n cyA9CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzoxNjE1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdHhfcmluZ3MgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5t YXhfdHhfcmluZ3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTY6NTogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEtPm51bV9yeF9yaW5n cyA9IHJ0ZV9jcHVfdG9fbGVfMTYoYnAtPm1heF9yeF9yaW5ncyAvIChudW1fdmZzICsgMSkpOwog ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTYxNzo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogIHJlcS0+bnVtX2wyX2N0eHMgPSBydGVfY3B1X3RvX2xlXzE2KGJwLT5tYXhfbDJf Y3R4IC8gKG51bV92ZnMgKyAxKSk7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjE4OjU6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcmVxLT5udW1fdm5pY3MgPSBydGVfY3B1 X3RvX2xlXzE2KGJwLT5tYXhfdm5pY3MgLyAobnVtX3ZmcyArIDEpKTsKICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE2MTk6 NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICByZXEt Pm51bV9od19yaW5nX2dycHMgPQogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTYyNToxMDog ZXJyb3I6IOKAmHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV04oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAgIGludCB2ZikKICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6 IEluIGZ1bmN0aW9uIOKAmGFkZF9yYW5kb21fbWFjX2lmX25lZWRlZOKAmToKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTY0MzoxMTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIGNmZ19y ZXEtPmVuYWJsZXMgfD0gcnRlX2NwdV90b19sZV8zMigKICAgICAgICAgICBeCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzozNDowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ0OjU6IGVycm9yOiDigJhIV1JNX0ZVTkNfQ0ZHX0lO UFVUX0VOQUJMRVNfREZMVF9NQUNfQUREUuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICAgICBIV1JNX0ZVTkNfQ0ZHX0lOUFVUX0VOQUJMRVNfREZMVF9NQUNfQURE Uik7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTAyOjMwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9jcHVfdG9fbGVfMzLigJkKICNkZWZpbmUgcnRlX2NwdV90 b19sZV8zMih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjQ1OjI3 OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgZXRo X3JhbmRvbV9hZGRyKGNmZ19yZXEtPmRmbHRfbWFjX2FkZHIpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0 L2JueHRfaHdybS5jOjE2NDc6MTg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgICBtZW1jcHkoY2ZnX3JlcS0+ZGZsdF9tYWNfYWRkciwKICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54 dC9ibnh0X2h3cm0uYzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjU1OjExOiBlcnJvcjog4oCYc3RydWN0 IGh3cm1fZnVuY19jZmdfaW5wdXTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFst V2Vycm9yXQogICAgICAgICAgIGludCB2ZikKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOiBJbiBmdW5jdGlvbiDi gJhyZXNlcnZlX3Jlc291cmNlc19mcm9tX3Zm4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNjY4OjM6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19xY2Fwc+KAmSBmcm9tIGluY29tcGF0 aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgIGNvcHlfZnVuY19jZmdfdG9fcWNhcHMoY2Zn X3JlcSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGh3 cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3Qg aHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMgdm9pZCBjb3B5X2Z1bmNfY2ZnX3RvX3Fj YXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2ZnLAogICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzox NjcyOjM6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYY29weV9mdW5jX2NmZ190b19x Y2Fwc+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgIGNvcHlf ZnVuY19jZmdfdG9fcWNhcHMoY2ZnX3JlcSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTUyNDoxMzogbm90ZTog ZXhwZWN0ZWQg4oCYc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgKuKAmSBidXQgYXJndW1lbnQg aXMgb2YgdHlwZSDigJhzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCAq4oCZCiBzdGF0aWMgdm9p ZCBjb3B5X2Z1bmNfY2ZnX3RvX3FjYXBzKHN0cnVjdCBod3JtX2Z1bmNfY2ZnX2lucHV0ICpmY2Zn LAogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvYm54dC9ibnh0X2h3cm0uYzogSW4gZnVuY3Rpb24g4oCYYm54dF9od3JtX2FsbG9jYXRlX3Zm c+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTcyOTo5OiBlcnJvcjogdmFyaWFibGUg4oCYcmVx4oCZIGhhcyBpbml0aWFsaXpl ciBidXQgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IGh3cm1fZnVuY19jZmdfaW5wdXQgcmVxID0g ezB9OwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1 Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjE3Mjk6OTogZXJyb3I6IChuZWFyIGluaXRpYWxp emF0aW9uIGZvciDigJhyZXHigJkpIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvYm54dC9ibnh0X2h3cm0uYzoxNzI5OjI5OiBlcnJvcjogc3RvcmFn ZSBzaXplIG9mIOKAmHJlceKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGh3cm1fZnVuY19jZmdf aW5wdXQgcmVxID0gezB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9i bnh0L2JueHRfaHdybS5jOjM0OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9ibnh0L2JueHRfaHdybS5jOjEyODozNDogZXJyb3I6IOKAmEhXUk1fRlVOQ19DRkfi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcmVxLnJlcV90eXBl ID0gcnRlX2NwdV90b19sZV8xNihIV1JNXyMjdHlwZSk7IFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMTozMDogbm90ZTogaW4g ZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzE24oCZCiAjZGVmaW5lIHJ0ZV9j cHVfdG9fbGVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc2 NDozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYSFdSTV9QUkVQ4oCZCiAgIEhXUk1f UFJFUChyZXEsIEZVTkNfQ0ZHLCAtMSwgcmVzcCk7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54dF9od3JtLmM6MTc3MDo1OiBlcnJvcjog4oCY SFdSTV9GVU5DX0NGR19JTlBVVF9FTkFCTEVTX0RGTFRfTUFDX0FERFLigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgSFdSTV9GVU5DX0NGR19JTlBVVF9FTkFC TEVTX0RGTFRfTUFDX0FERFIpOwogICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwMjoz MDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfY3B1X3RvX2xlXzMy4oCZCiAj ZGVmaW5lIHJ0ZV9jcHVfdG9fbGVfMzIoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2JueHQvYm54 dF9od3JtLmM6MTc3MjoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUKICAgaWYgKHJjIHx8IHJlc3AtPmVycm9yX2NvZGUpIHsKICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9ibnh0L2JueHRf aHdybS5jOjE3Mjk6Mjk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYcmVx4oCZIFstV2Vycm9y PXVudXNlZC12YXJpYWJsZV0KICBzdHJ1Y3QgaHdybV9mdW5jX2NmZ19pbnB1dCByZXEgPSB7MH07 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwoKCkRQREsgU1RWIHRlYW0K --===============6112419599450615251==--