From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 7893F5592 for ; Fri, 30 Dec 2016 06:42:56 +0100 (CET) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP; 29 Dec 2016 21:42:55 -0800 Message-Id: <69c10c$103k166@orsmga001.jf.intel.com> Date: 29 Dec 2016 21:42:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,428,1477983600"; d="scan'208";a="1077544134" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga001.jf.intel.com with ESMTP; 29 Dec 2016 21:42:54 -0800 Content-Type: multipart/alternative; boundary="===============5280804082597990850==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: beilei.xing@intel.com Subject: [dpdk-test-report] |FAILURE| pw18704 [PATCH v4 09/17] net/i40e: parse tunnel filter 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: Fri, 30 Dec 2016 05:42:59 -0000 --===============5280804082597990850== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwgY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xODcwNAoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT4KRGF0ZTogRnJpLCAzMCBEZWMgMjAx NiAxMToyNTo0NCArMDgwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLW5leHQtbmV0LCBC cmFuY2g6bWFzdGVyLCBDb21taXRJRDpiN2YyMTViYmUzZjQ2NDJmZmZmMmZhN2VjM2E2MTgwNmYx ZTRkNWUzCgpQYXRjaDE4Njk2LTE4NzA0IC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1hcnk6 IDE4IEJ1aWxkcyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDE4IEZhaWx1cmVzCgpUZXN0IGVudmlyb25t ZW50IGFuZCBjb25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2VybmVs IFZlcnNpb246My4xMC4wLTMyNy5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9u KFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDQu OC41IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4yCiAg ICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj CiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKT1M6IEZyZWVCU0QxMC4zXzY0 CiAgICBLZXJuZWwgVmVyc2lvbjoxMC4zLVJFTEVBU0UKICAgIENQVSBpbmZvOiBJbnRlbChSKSBY ZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIeiAoMjE5NC45Ny1NSHogSzgtY2xhc3MgQ1BV KQogICAgR0NDIFZlcnNpb246Z2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDQuOC41CiAg ICBDbGFuZyBWZXJzaW9uOjMuNC4xCiAgICB4ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZwogICAg eDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCk9TOiBGQzI0XzY0CiAgICBLZXJuZWwgVmVyc2lvbjo0 LjguNi0yMDEuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BVIEU1 LTI2OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAxNjA5 MTYgKFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6IFVCMTYwNF82NAog ICAgS2VybmVsIFZlcnNpb246NC40LjAtNTMtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikg WGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1 bnR1IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJz aW9uOjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBWZXJz aW9uOjMuMTAuMC0zMjcuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihSKSBD UFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0NDKSA0LjguNSAy MDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lvbjozLjQuMgogICAgaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCiAg ICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjCgpGYWlsZWQgQnVpbGQgIzE6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91bmlu aXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTI5NDo2OiBlcnJvcjog4oCYdHVubmVsX3J1bGXigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkK ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjEyOTQ6Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg cmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox Mjk5OjEwOiBlcnJvcjog4oCYcF90dW5uZWzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVs ZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDU6NjogZXJyb3I6IOKAmGZk aXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAo ZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMTA6MTA6IGVycm9yOiDigJhwX2Zk aXLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChw X2ZkaXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAgICAg XgoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEyOTQ6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMjk0OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTox MDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1 bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA1OjY6IGVycm9yOiDigJhmZGlyX2lu Zm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJf aW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzEwOjEwOiBlcnJvcjog4oCYcF9mZGly4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGly ID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KCgpG YWlsZWQgQnVpbGQgIzM6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2Mtc2hhcmVkCgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml0 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEyOTQ6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMjk0OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5 OToxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUt PnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA1OjY6IGVycm9yOiDigJhmZGly X2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZk aXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzEwOjEwOiBlcnJvcjog4oCYcF9mZGly 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9m ZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4K CgpGYWlsZWQgQnVpbGQgIzQ6Ck9TOiBGcmVlQlNEMTAuM182NApUYXJnZXQ6IHg4Nl82NC1uYXRp dmUtYnNkYXBwLWNsYW5nCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NDo2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRl bnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkK ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEyOTU6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHR1bm5lbF9ydWxl LT5oYXNoX21hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5Njo2OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgaWYg KHR1bm5lbF9ydWxlLT5oYXNoX3RhYmxlKQogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NzoxNzogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAg ICAgICAgcnRlX2hhc2hfZnJlZSh0dW5uZWxfcnVsZS0+aGFzaF90YWJsZSk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAgICAgICAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxR X0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEyOTk6MzQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxf cnVsZScKICAgICAgICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxl LT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo2MTQ6Mjk6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ1RBSUxRX0ZJUlNUJwojZGVmaW5lIFRBSUxRX0ZJUlNUKGhlYWQpICAgICAgICgoaGVh ZCktPnRxaF9maXJzdCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MzAwOjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAg ICAgICAgICAgICAgICBUQUlMUV9SRU1PVkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90 dW5uZWwsIHJ1bGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MjM6MTk6IG5vdGU6IGV4 cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICBpZiAoKFRBSUxRX05FWFQo KGVsbSksIGZpZWxkKSkgIT0gTlVMTCkgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg ICAgICAgICAgICAgICAgICAgXgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NzEzOjM0OiBub3Rl OiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9ORVhUJwojZGVmaW5lIFRBSUxRX05FWFQoZWxt LCBmaWVsZCkgKChlbG0pLT5maWVsZC50cWVfbmV4dCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzMDA6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlm aWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjcyNDoxNTogbm90ZTogZXhw YW5kZWQgZnJvbSBtYWNybyAnVEFJTFFfUkVNT1ZFJwogICAgICAgICAgICAgICAgVEFJTFFfTkVY VCgoZWxtKSwgZmllbGQpLT5maWVsZC50cWVfcHJldiA9ICAgICAgICAgICAgICBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MTM6MzQ6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX05FWFQnCiNkZWZpbmUgVEFJTFFfTkVYVChl bG0sIGZpZWxkKSAoKGVsbSktPmZpZWxkLnRxZV9uZXh0KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTMwMDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ3BfdHVubmVsJwovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NzI1Ojg6IG5vdGU6IGV4 cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICAgICAgICAgICAgICAoZWxt KS0+ZmllbGQudHFlX3ByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwMDoxNzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5u ZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjcyNzo0OiBub3RlOiBleHBh bmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgICAgICAgICAoaGVhZCktPnRx aF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAgICAgICAgIFwKICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTMwMDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+ dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6 NzI3OjIzOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAg ICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAg ICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6 NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9p bmNsdWRlL3N5cy9xdWV1ZS5oOjczMDo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlM UV9SRU1PVkUnCiAgICAgICAgKihlbG0pLT5maWVsZC50cWVfcHJldiA9IFRBSUxRX05FWFQoKGVs bSksIGZpZWxkKTsgICAgICAgICAgICAgIFwKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzAwOjQzOiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi91c3IvaW5jbHVkZS9z eXMvcXVldWUuaDo3MzA6Mzk6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9W RScKICAgICAgICAqKGVsbSktPmZpZWxkLnRxZV9wcmV2ID0gVEFJTFFfTkVYVCgoZWxtKSwgZmll bGQpOyAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo3MTM6MzQ6IG5vdGU6IGV4cGFuZGVk IGZyb20gbWFjcm8gJ1RBSUxRX05FWFQnCiNkZWZpbmUgVEFJTFFfTkVYVChlbG0sIGZpZWxkKSAo KGVsbSktPmZpZWxkLnRxZV9uZXh0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTMwMToxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVu bmVsJwogICAgICAgICAgICAgICAgcnRlX2ZyZWUocF90dW5uZWwpOwogICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzMDU6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ2ZkaXJfaW5mbycKICAgICAgICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEzMDY6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdm ZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfZnJlZShmZGlyX2luZm8tPmhhc2hfbWFwKTsK ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA3OjY6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFz aF90YWJsZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDg6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVl KGZkaXJfaW5mby0+aGFzaF90YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzEwOjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF9mZGly JwogICAgICAgIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9s aXN0KSkpIHsKICAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBl bWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVk LgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUt cHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZv ciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6Nzg6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBl IGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMTogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwn IGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjNToKT1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdldDogeDg2 XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uICdldGhfaTQwZV9kZXZfdW5p bml0JzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMjk0OjY6IGVycm9yOiAndHVubmVsX3J1bGUnIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMjk0OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTox MDogZXJyb3I6ICdwX3R1bm5lbCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVs X2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDU6NjogZXJyb3I6ICdmZGlyX2luZm8nIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChmZGlyX2luZm8tPmhh c2hfbWFwKQogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMxMDoxMDogZXJyb3I6ICdwX2ZkaXInIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklS U1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVf aW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr cm9vdC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQg QnVpbGQgIzY6Ck9TOiBGQzI0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mt ZGVidWcKCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91bmluaXTigJk6Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTI5NDo2OiBlcnJvcjog4oCYdHVubmVsX3J1bGXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgaWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkKICAgICAgXn5+fn5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMjk0OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5 OToxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUt PnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwNTo2OiBlcnJvcjog 4oCYZmRpcl9pbmZv4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog IGlmIChmZGlyX2luZm8tPmhhc2hfbWFwKQogICAgICBefn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzEwOjEwOiBl cnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkp IHsKICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50 ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRo ZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRp ci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25l dCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQu bWs6Nzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBlIGZvciB0YXJnZXQg J2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5z dGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMTogcmVjaXBlIGZv ciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjNzoKT1M6IEZDMjRfNjQK VGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYZXRo X2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6IGVycm9yOiDigJh0dW5uZWxfcnVsZeKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAodHVubmVsX3J1 bGUtPmhhc2hfbWFwKQogICAgICBefn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6Njogbm90ZTogZWFjaCB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjEwOiBlcnJvcjog4oCYcF90dW5uZWzigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1bm5lbCA9 IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgXn5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMzA1OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAg IF5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEzMTA6MTA6IGVycm9yOiDigJhwX2ZkaXLigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX2ZkaXIgPSBUQUlMUV9GSVJT VCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiBy ZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQw ZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1r OjYxOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3ODogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZl cnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTI2OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAn cHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka3Jvb3QubWs6MTAxOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFp bGVkIEJ1aWxkICM4OgpPUzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMjk0OjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0 dW5uZWxfcnVsZScKICAgICAgICBpZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTI5NToxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1 bm5lbF9ydWxlJwogICAgICAgICAgICAgICAgcnRlX2ZyZWUodHVubmVsX3J1bGUtPmhhc2hfbWFw KTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk2OjY6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICBpZiAodHVubmVsX3J1 bGUtPmhhc2hfdGFibGUpCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk3OjE3OiBlcnJvcjogdXNlIG9m IHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgICAgICAgICBydGVf aGFzaF9mcmVlKHR1bm5lbF9ydWxlLT5oYXNoX3RhYmxlKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEyOTk6MzQ6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlm aWVyICd0dW5uZWxfcnVsZScKICAgICAgICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1Qo JnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OToxMDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJT VCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MzAwOjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAg ICAgICAgICAgICAgICBUQUlMUV9SRU1PVkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90 dW5uZWwsIHJ1bGVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwMDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3BfdHVubmVsJwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzAwOjE3OiBlcnJvcjogdXNlIG9mIHVuZGVj bGFyZWQgaWRlbnRpZmllciAndHVubmVsX3J1bGUnCiAgICAgICAgICAgICAgICBUQUlMUV9SRU1P VkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90dW5uZWwsIHJ1bGVzKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICAgICAgICAgIFRBSUxRX1JFTU9WRSgm dHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5lbCwgcnVsZXMpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzAwOjQz OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMw MDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjEzMDE6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcK ICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHBfdHVubmVsKTsKICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMzA1OjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdm ZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzA2OjEyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9p bmZvJwogICAgICAgICAgICAgICAgcnRlX2ZyZWUoZmRpcl9pbmZvLT5oYXNoX21hcCk7CiAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwNzo2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAgIGlmIChmZGlyX2luZm8tPmhhc2hfdGFi bGUpCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA4OjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQg aWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAgICAgICAgICAgcnRlX2hhc2hfZnJlZShmZGly X2luZm8tPmhhc2hfdGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTMxMDozMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZkaXJfaW5mbycK ICAgICAgICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGlyX2luZm8tPmZkaXJfbGlz dCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpmYXRhbCBlcnJv cjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBbLWZlcnJvci1saW1pdD1d CjIwIGVycm9ycyBnZW5lcmF0ZWQuCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9p bnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9l dGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3Vi ZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAn bmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWls ZC5tazo3ODogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI2OiByZWNpcGUgZm9yIHRhcmdl dCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtp bnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAxOiByZWNpcGUg Zm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM5OgpPUzogRkMyNF82 NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVu Y3Rpb24g4oCYZXRoX2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6IGVycm9yOiDigJh0 dW5uZWxfcnVsZeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBp ZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICBefn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6Njog bm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZv ciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjEwOiBlcnJvcjog4oCYcF90 dW5uZWzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUg KChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewog ICAgICAgICAgXn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA1OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFz aF9tYXApCiAgICAgIF5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMTA6MTA6IGVycm9yOiDigJhwX2ZkaXLigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX2ZkaXIg PSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZvLT5mZGlyX2xpc3QpKSkgewogICAgICAgICAgXn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1w cmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9y IHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3ODogcmVjaXBlIGZvciB0 YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka3Jvb3QubWs6MTI2OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUg Zm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAxOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcg ZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMDoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml0 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjEyOTQ6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAg ICAgIF5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NDo2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRp ZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEyOTk6MTA6IGVycm9yOiDigJhwX3R1bm5lbOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1 bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDU6 NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTMxMDoxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGlyX2luZm8tPmZk aXJfbGlzdCkpKSB7CiAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3Ig dGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBm b3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzExOgpP UzogVUIxNjA0XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmGV0aF9pNDBlX2Rldl91bmluaXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NDo2OiBlcnJvcjog4oCY dHVubmVsX3J1bGXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg aWYgKHR1bm5lbF9ydWxlLT5oYXNoX21hcCkKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6Njogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjEwOiBlcnJvcjog4oCYcF90dW5uZWzigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX3R1bm5l bCA9IFRBSUxRX0ZJUlNUKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzMDU6NjogZXJyb3I6IOKAmGZkaXJfaW5mb+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEzMTA6MTA6IGVycm9yOiDigJhwX2ZkaXLigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgd2hpbGUgKChwX2ZkaXIgPSBUQUlMUV9GSVJTVCgmZmRpcl9pbmZv LT5mZGlyX2xpc3QpKSkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQg J2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0 YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2RrYnVpbGQubWs6Nzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyNjogcmVjaXBlIGZv ciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMTog cmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTI6Ck9T OiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBm dW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6NjogZXJyb3I6IOKA mHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog IGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6IG5vdGU6IGVh Y2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OToxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5u ZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMzA1OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzEwOjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5m by0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3Ig dGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBm b3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEzOgpP UzogVUIxNjA0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOiBJbiBmdW5jdGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6Njog ZXJyb3I6IOKAmHR1bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6 IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBm b3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OToxMDogZXJyb3I6IOKAmHBf dHVubmVs4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxl ICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsK ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMzA1OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXAp CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzEwOjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1Qo JmZkaXJfaW5mby0+ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJl Y2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvcnRlLnNka2J1aWxkLm1rOjc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5z dGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9v dC5tazoxMDE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVp bGQgIzE0OgpPUzogVUIxNjA0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu ZwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEyOTQ6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5l bF9ydWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMjk1OjEyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVs X3J1bGUnCiAgICAgICAgICAgICAgICBydGVfZnJlZSh0dW5uZWxfcnVsZS0+aGFzaF9tYXApOwog ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTY6NjogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIGlmICh0dW5uZWxfcnVsZS0+ aGFzaF90YWJsZSkKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTc6MTc6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIHJ0ZV9oYXNo X2ZyZWUodHVubmVsX3J1bGUtPmhhc2hfdGFibGUpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTI5OTozNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIg J3R1bm5lbF9ydWxlJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9GSVJTVCgmdHVu bmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMjk5OjEwOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRp ZmllciAncF90dW5uZWwnCiAgICAgICAgd2hpbGUgKChwX3R1bm5lbCA9IFRBSUxRX0ZJUlNUKCZ0 dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QpKSkgewogICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6 NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAg ICAgICAgICAgIFRBSUxRX1JFTU9WRSgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5l bCwgcnVsZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMzAwOjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRp ZmllciAncF90dW5uZWwnCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwMDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3BfdHVubmVsJwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJl ZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICAgICAgICAgIFRBSUxRX1JFTU9WRSgm dHVubmVsX3J1bGUtPnR1bm5lbF9saXN0LCBwX3R1bm5lbCwgcnVsZXMpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwMDo0MzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk IGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5u ZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6NDM6IGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzAwOjQz OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMw MToxMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAg ICAgICAgICAgICAgcnRlX2ZyZWUocF90dW5uZWwpOwogICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjEzMDU6NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZkaXJf aW5mbycKICAgICAgICBpZiAoZmRpcl9pbmZvLT5oYXNoX21hcCkKICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjEzMDY6MTI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8n CiAgICAgICAgICAgICAgICBydGVfZnJlZShmZGlyX2luZm8tPmhhc2hfbWFwKTsKICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA3OjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJfaW5mby0+aGFzaF90YWJsZSkK ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEzMDg6MTc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVlKGZkaXJfaW5m by0+aGFzaF90YWJsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzEw OjMyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAg ICAgIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0KSkp IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0 b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAg ZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVy bmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRl di5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1r Ojc4OiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdh bGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3Rh bGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDE6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE1OgpPUzogQ2VudE9TN182 NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhl dGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6NjogZXJyb3I6IOKAmHR1bm5lbF9ydWxl 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmICh0dW5uZWxf cnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJl ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh cHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTI5OToxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9G SVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA1 OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzEwOjEw OiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ZmRpcl9saXN0 KSkpIHsKICAgICAgICAgIF4KCgpGYWlsZWQgQnVpbGQgIzE2OgpPUzogQ2VudE9TN182NApUYXJn ZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6IGVycm9yOiB1c2Ug b2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxfcnVsZScKICAgICAgICBpZiAodHVubmVs X3J1bGUtPmhhc2hfbWFwKQogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NToxMjogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgICAgICAgICAgcnRl X2ZyZWUodHVubmVsX3J1bGUtPmhhc2hfbWFwKTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMjk2OjY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0dW5uZWxf cnVsZScKICAgICAgICBpZiAodHVubmVsX3J1bGUtPmhhc2hfdGFibGUpCiAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMjk3OjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAndHVubmVs X3J1bGUnCiAgICAgICAgICAgICAgICBydGVfaGFzaF9mcmVlKHR1bm5lbF9ydWxlLT5oYXNoX3Rh YmxlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6MTA6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICB3aGlsZSAo KHBfdHVubmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OTozNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAgIHdoaWxlICgocF90dW5uZWwgPSBUQUlMUV9G SVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjQ1ODozMDogbm90 ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJTFFfRklSU1QnCiNkZWZpbmUgVEFJTFFfRklSU1Qo aGVhZCkgICAgICAgICAgICAgICAoKGhlYWQpLT50cWhfZmlyc3QpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzAwOjQzOiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAncF90dW5uZWwnCiAgICAgICAgICAgICAgICBUQUlMUV9SRU1P VkUoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCwgcF90dW5uZWwsIHJ1bGVzKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi91c3IvaW5j bHVkZS9zeXMvcXVldWUuaDo0Mjc6ODogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJTFFf UkVNT1ZFJwogICAgICAgIGlmICgoKGVsbSktPmZpZWxkLnRxZV9uZXh0KSAhPSBOVUxMKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6NDM6IGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRl L3N5cy9xdWV1ZS5oOjQyODo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1P VkUnCiAgICAgICAgICAgICAgICAoZWxtKS0+ZmllbGQudHFlX25leHQtPmZpZWxkLnRxZV9wcmV2 ID0gICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwMDo0MzogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwovdXNyL2luY2x1ZGUv c3lzL3F1ZXVlLmg6NDI5Ojg6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9W RScKICAgICAgICAgICAgICAgICAgICAoZWxtKS0+ZmllbGQudHFlX3ByZXY7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwMDoxNzog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3R1bm5lbF9ydWxlJwogICAgICAg ICAgICAgICAgVEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVs LCBydWxlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3Vzci9pbmNsdWRlL3N5 cy9xdWV1ZS5oOjQzMTo0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUn CiAgICAgICAgICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVsbSktPmZpZWxkLnRxZV9wcmV2 OyAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMwMDo0MzogZXJyb3I6 IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3BfdHVubmVsJwogICAgICAgICAgICAgICAg VEFJTFFfUkVNT1ZFKCZ0dW5uZWxfcnVsZS0+dHVubmVsX2xpc3QsIHBfdHVubmVsLCBydWxlcyk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovdXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NDMxOjIzOiBub3RlOiBleHBhbmRlZCBmcm9tIG1h Y3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgICAgICAgICAoaGVhZCktPnRxaF9sYXN0ID0gKGVs bSktPmZpZWxkLnRxZV9wcmV2OyAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDA6NDM6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICdwX3R1bm5lbCcKL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjQzMjo0OiBub3Rl OiBleHBhbmRlZCBmcm9tIG1hY3JvICdUQUlMUV9SRU1PVkUnCiAgICAgICAgKihlbG0pLT5maWVs ZC50cWVfcHJldiA9IChlbG0pLT5maWVsZC50cWVfbmV4dDsgICAgICAgICAgICAgICAgIFwKICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMzAwOjQzOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmll ciAncF90dW5uZWwnCi91c3IvaW5jbHVkZS9zeXMvcXVldWUuaDo0MzI6Mjg6IG5vdGU6IGV4cGFu ZGVkIGZyb20gbWFjcm8gJ1RBSUxRX1JFTU9WRScKICAgICAgICAqKGVsbSktPmZpZWxkLnRxZV9w cmV2ID0gKGVsbSktPmZpZWxkLnRxZV9uZXh0OyAgICAgICAgICAgICAgICAgXAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEzMDE6MTI6IGVycm9yOiB1c2Ugb2YgdW5k ZWNsYXJlZCBpZGVudGlmaWVyICdwX3R1bm5lbCcKICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHBf dHVubmVsKTsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA1OjY6IGVycm9yOiB1 c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmZGlyX2luZm8nCiAgICAgICAgaWYgKGZkaXJf aW5mby0+aGFzaF9tYXApCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA2OjEyOiBlcnJvcjogdXNlIG9m IHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAgICAgICAgICAgICAgcnRlX2Zy ZWUoZmRpcl9pbmZvLT5oYXNoX21hcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTMwNzo2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwog ICAgICAgIGlmIChmZGlyX2luZm8tPmhhc2hfdGFibGUpCiAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMzA4 OjE3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmRpcl9pbmZvJwogICAg ICAgICAgICAgICAgcnRlX2hhc2hfZnJlZShmZGlyX2luZm8tPmhhc2hfdGFibGUpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTMxMDoxMDogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ3BfZmRpcicKICAgICAgICB3aGlsZSAoKHBfZmRpciA9IFRBSUxR X0ZJUlNUKCZmZGlyX2luZm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICAgICAgICBeCmZhdGFs IGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxp bWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KCgpGYWlsZWQgQnVpbGQgIzE3OgpPUzogQ2VudE9T N182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4g ZnVuY3Rpb24g4oCYZXRoX2k0MGVfZGV2X3VuaW5pdOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6IGVycm9yOiDi gJh0dW5uZWxfcnVsZeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBpZiAodHVubmVsX3J1bGUtPmhhc2hfbWFwKQogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5NDo2OiBub3RlOiBl YWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2gg ZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTk6MTA6IGVycm9yOiDigJhwX3R1bm5lbOKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfdHVu bmVsID0gVEFJTFFfRklSU1QoJnR1bm5lbF9ydWxlLT50dW5uZWxfbGlzdCkpKSB7CiAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTMwNTo2OiBlcnJvcjog4oCYZmRpcl9pbmZv4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlmIChmZGlyX2luZm8tPmhhc2hfbWFwKQogICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTMxMDoxMDogZXJyb3I6IOKAmHBfZmRpcuKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICB3aGlsZSAoKHBfZmRpciA9IFRBSUxRX0ZJUlNUKCZmZGlyX2lu Zm8tPmZkaXJfbGlzdCkpKSB7CiAgICAgICAgICBeCgoKRmFpbGVkIEJ1aWxkICMxODoKT1M6IENl bnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5j dGlvbiDigJhldGhfaTQwZV9kZXZfdW5pbml04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEyOTQ6NjogZXJyb3I6IOKAmHR1 bm5lbF9ydWxl4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGlm ICh0dW5uZWxfcnVsZS0+aGFzaF9tYXApCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMjk0OjY6IG5vdGU6IGVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTI5OToxMDogZXJyb3I6IOKAmHBfdHVubmVs4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF90dW5uZWwg PSBUQUlMUV9GSVJTVCgmdHVubmVsX3J1bGUtPnR1bm5lbF9saXN0KSkpIHsKICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMzA1OjY6IGVycm9yOiDigJhmZGlyX2luZm/igJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgaWYgKGZkaXJfaW5mby0+aGFzaF9tYXApCiAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMzEwOjEwOiBlcnJvcjog4oCYcF9mZGly4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIHdoaWxlICgocF9mZGlyID0gVEFJTFFfRklSU1QoJmZkaXJfaW5mby0+ ZmRpcl9saXN0KSkpIHsKICAgICAgICAgIF4KCgpEUERLIFNUViB0ZWFtCg== --===============5280804082597990850==--