From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 46D03374 for ; Tue, 27 Jun 2017 17:34:20 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP; 27 Jun 2017 08:34:19 -0700 Message-Id: Date: 27 Jun 2017 08:34:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,401,1493708400"; d="scan'208";a="1165199876" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by fmsmga001.fm.intel.com with ESMTP; 27 Jun 2017 08:34:17 -0700 Content-Type: multipart/alternative; boundary="===============7690512334891529637==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: jasvinder.singh@intel.com Subject: [dpdk-test-report] |FAILURE| pw25733 [PATCH v2 1/2] net/softnic: add softnic PMD for traffic management 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, 27 Jun 2017 15:34:21 -0000 --===============7690512334891529637== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yNTczMwoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog SmFzdmluZGVyIFNpbmdoIDxqYXN2aW5kZXIuc2luZ2hAaW50ZWwuY29tPgpEYXRlOiBNb24sIDI2 IEp1biAyMDE3IDE3OjQzOjMzICswMTAwCkRQREsgZ2l0IGJhc2VsaW5lOiBSZXBvOmRwZGssIEJy YW5jaDptYXN0ZXIsIENvbW1pdElEOmQzMjMwOWZkMjdmZjFlMWY4YjVlZGY0MzU2ODQyOTJhMjM2 MDMyMTEKClBhdGNoMjU3MzMtMjU3MzMgLS0+IGNvbXBpbGUgZXJyb3IKQnVpbGQgU3VtbWFyeTog MjEgQnVpbGRzIERvbmUsIDAgU3VjY2Vzc2Z1bCwgMjEgRmFpbHVyZXMKClRlc3QgZW52aXJvbm1l bnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6Ck9TOiBSSEVMNy4yXzY0CiAgICBLZXJuZWwg VmVyc2lvbjozLjEwLjAtNTE0LjEwLjIuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikg WGVvbihSKSBDUFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0ND KSA0LjguNSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lvbjozLjQu MgogICAgaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCk9TOiBVQjE2MTBfNjQK ICAgIEtlcm5lbCBWZXJzaW9uOjQuOC4wLTIyLWdlbmVyaWMKICAgIENQVSBpbmZvOkludGVsKFIp IFhlb24oUikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKFVi dW50dSA2LjIuMC01dWJ1bnR1MTIpIDYuMi4wIDIwMTYxMDA1CiAgICBDbGFuZyBWZXJzaW9uOk5B CiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwpPUzogUkhFTDcuM182NAogICAgS2VybmVs IFZlcnNpb246My4xMC4wLTUxNC4xNi4xLmVsNy54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIp IFhlb24oUikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdD QykgNC44LjUgMjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtMTEpCiAgICBDbGFuZyBWZXJzaW9uOk5B CiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwpPUzogRkMyNV82NAogICAgS2VybmVsIFZl cnNpb246NC44LjYtMzAwLmZjMjUueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIp IENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDYuMy4x IDIwMTYxMjIxIChSZWQgSGF0IDYuMy4xLTEpCiAgICBDbGFuZyBWZXJzaW9uOk5BCiAgICB4ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWljYwpPUzogRnJlZUJTRDEwLjNfNjQKICAgIEtlcm5lbCBWZXJz aW9uOjEwLjMtUkVMRUFTRQogICAgQ1BVIGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2 OTkgdjQgQCAyLjIwR0h6ICgyMTk0Ljk4LU1IeiBLOC1jbGFzcyBDUFUpCiAgICBHQ0MgVmVyc2lv bjpnY2MgKEZyZWVCU0QgUG9ydHMgQ29sbGVjdGlvbikgNC44LjUKICAgIENsYW5nIFZlcnNpb246 My40LjEKICAgIHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nCiAgICB4ODZfNjQtbmF0aXZlLWJz ZGFwcC1nY2MKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjMuMTAuMC01MTQuMTAu Mi5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHYz IEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDQuOC41IDIwMTUwNjIzIChSZWQg SGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4yCiAgICBpNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6 IEZDMjRfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjQuOS4xMy0xMDAuZmMyNC54ODZfNjQKICAgIENQ VSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0Mg VmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAxNjA5MTYgKFJlZCBIYXQgNi4yLjEtMikKICAgIENs YW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MtZGVidWcKT1M6IFVCMTYwNF82NAogICAgS2VybmVsIFZlcnNpb246NC40LjAtNzgt Z2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIu MzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1bnR1IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQp IDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJzaW9uOjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1s aW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MK CkZhaWxlZCBCdWlsZCAjMToKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MKUE1ESU5GTyBydGVfZXRoX3NvZnRuaWMuby5wbWQuYyAgTEQgcnRlX2V0aF9zb2Z0 bmljLm8vaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfdG1fb3BzX2dldOKA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRl X2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo3NTk6MjE6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRo X2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgcmV0dXJu IGRldi0+ZGV2X29wcy0+dG1fb3BzX2dldChkZXYsIG9wcyk7CiAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRl X2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j Ojg3MzoyOiBlcnJvcjogdW5rbm93biBmaWVsZCDigJh0bV9vcHNfZ2V04oCZIHNwZWNpZmllZCBp biBpbml0aWFsaXplcgogIC50bV9vcHNfZ2V0ID0gcG1kX3RtX29wc19nZXQsCiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0 aWFsaXplciBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6MjogZXJyb3I6IChuZWFy IGluaXRpYWxpemF0aW9uIGZvciDigJhwbWRfb3BzX2RlZmF1bHTigJkpIFstV2Vycm9yXQovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3Nv ZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfb3BzX2NoZWNrX2FuZF9zZXRfbnVs bOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMv cnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzc6MTA6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3Qg ZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgaWYg KCEodSktPmZ1bmMpICAgIFwKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo5ODU6Mjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTlVMTOKAmQogIENI RUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0 LmM6ODc4OjY6IGVycm9yOiDigJhzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBu YW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgIChvKS0+ZnVuYyA9IE5VTEw7ICAgIFwKICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRo X3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY Q0hFQ0tfQU5EX1NFVF9OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OVUxMKG8sIHUsIHRtX29wc19n ZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRu aWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1kX29wc19kZXJp dmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmlj L3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgyOjk6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3Qg ZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgaWYg KCh1KS0+ZnVuYykgICAgXAogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05OVUxM4oCZCiAg Q0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzo4ODM6NjogZXJyb3I6IOKAmHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAgKG8pLT5mdW5jID0gKHUpLT5mdW5jOyAgIFwK ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5p Yy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVM TChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgzOjE4OiBlcnJv cjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY dG1fb3BzX2dldOKAmQogICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgXAogICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmlj L3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxM KG8sIHUsIHRtX29wc19nZXQpOwogIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKCgpGYWlsZWQgQnVpbGQgIzI6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogeDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MKUE1ESU5GTyBydGVfZXRoX3NvZnRuaWMuby5wbWQuYyAgTEQg cnRlX2V0aF9zb2Z0bmljLm8vaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRf dG1fb3BzX2dldOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo3NTk6MjE6IGVycm9yOiDigJhjb25z dCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V0 4oCZCiAgcmV0dXJuIGRldi0+ZGV2X29wcy0+dG1fb3BzX2dldChkZXYsIG9wcyk7CiAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogQXQgdG9wIGxldmVsOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogdW5rbm93biBmaWVsZCDigJh0bV9vcHNfZ2V04oCZ IHNwZWNpZmllZCBpbiBpbml0aWFsaXplcgogIC50bV9vcHNfZ2V0ID0gcG1kX3RtX29wc19nZXQs CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGlu IHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6Mjog ZXJyb3I6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbWRfb3BzX2RlZmF1bHTigJkpIFst V2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5p Yy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfb3BzX2NoZWNr X2FuZF9zZXRfbnVsbOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzc6MTA6IGVycm9yOiDigJhj b25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNf Z2V04oCZCiAgaWYgKCEodSktPmZ1bmMpICAgIFwKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1 bHQuYzo5ODU6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRf TlVMTOKAmQogIENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6ODc4OjY6IGVycm9yOiDigJhzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgIChvKS0+ZnVuYyA9IE5VTEw7ICAg IFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29m dG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyOiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OVUxMKG8s IHUsIHRtX29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCY cG1kX29wc19kZXJpdmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgyOjk6IGVycm9yOiDigJhj b25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNf Z2V04oCZCiAgaWYgKCh1KS0+ZnVuYykgICAgXAogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0 LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9O T05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0 aF9zb2Z0bmljX2RlZmF1bHQuYzo4ODM6NjogZXJyb3I6IOKAmHN0cnVjdCBldGhfZGV2X29wc+KA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAgKG8pLT5mdW5jID0gKHUp LT5mdW5jOyAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FO RF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 ODgzOjE4OiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1i ZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgXAog ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05OVUxM4oCZCiAgQ0hFQ0tfQU5E X1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVp bmcgdHJlYXRlZCBhcyBlcnJvcnMKCgpGYWlsZWQgQnVpbGQgIzM6Ck9TOiBSSEVMNy4yXzY0ClRh cmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgpQTURJTkZPIHJ0ZV9ldGhf c29mdG5pYy5vLnBtZC5jICBMRCBydGVfZXRoX3NvZnRuaWMuby9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 IEluIGZ1bmN0aW9uIOKAmHBtZF90bV9vcHNfZ2V04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjc1 OToyMTogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVy IG5hbWVkIOKAmHRtX29wc19nZXTigJkKICByZXR1cm4gZGV2LT5kZXZfb3BzLT50bV9vcHNfZ2V0 KGRldiwgb3BzKTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBB dCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9z b2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjI6IGVycm9yOiB1bmtub3duIGZp ZWxkIOKAmHRtX29wc19nZXTigJkgc3BlY2lmaWVkIGluIGluaXRpYWxpemVyCiAgLnRtX29wc19n ZXQgPSBwbWRfdG1fb3BzX2dldCwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjI6IGVycm9y OiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxpemVyIFstV2Vycm9yXQovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBt ZF9vcHNfZGVmYXVsdOKAmSkgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6IEluIGZ1bmN0 aW9uIOKAmHBtZF9vcHNfY2hlY2tfYW5kX3NldF9udWxs4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j Ojg3NzoxMDogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICBpZiAoISh1KS0+ZnVuYykgICAgXAogICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYQ0hFQ0tfQU5EX1NFVF9OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OVUxMKG8sIHUsIHRt X29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzg6NjogZXJyb3I6IOKAmHN0cnVj dCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAg KG8pLT5mdW5jID0gTlVMTDsgICAgXAogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6OTg1OjI6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05VTEzigJkKICBD SEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfb3BzX2Rlcml2ZeKAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu Yzo4ODI6OTogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICBpZiAoKHUpLT5mdW5jKSAgICBcCiAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRl X2V0aF9zb2Z0bmljX2RlZmF1bHQuYzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhDSEVDS19BTkRfU0VUX05PTk5VTEzigJkKICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywg dSwgdG1fb3BzX2dldCk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg4Mzo2OiBlcnJvcjog4oCY c3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKA mQogICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgXAogICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0 LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9O T05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0 aF9zb2Z0bmljX2RlZmF1bHQuYzo4ODM6MTg6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rl dl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgIChvKS0+ZnVu YyA9ICh1KS0+ZnVuYzsgICBcCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu YzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05P Tk5VTEzigJkKICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXgpj YzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAj NDoKT1M6IFVCMTYxMF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjClBNRElO Rk8gcnRlX2V0aF9zb2Z0bmljLm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29mdG5pYy5vL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmlj X2RlZmF1bHQuYyg3NTkpOiBlcnJvcjogc3RydWN0ICJldGhfZGV2X29wcyIgaGFzIG5vIGZpZWxk ICJ0bV9vcHNfZ2V0IgogIAlyZXR1cm4gZGV2LT5kZXZfb3BzLT50bV9vcHNfZ2V0KGRldiwgb3Bz KTsKICAJICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jKDg3Myk6IGVy cm9yOiBzdHJ1Y3QgImV0aF9kZXZfb3BzIiBoYXMgbm8gZmllbGQgInRtX29wc19nZXQiCiAgCS50 bV9vcHNfZ2V0ID0gcG1kX3RtX29wc19nZXQsCiAgCSBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmMoOTg1 KTogZXJyb3I6IHN0cnVjdCAiZXRoX2Rldl9vcHMiIGhhcyBubyBmaWVsZCAidG1fb3BzX2dldCIK ICAJQ0hFQ0tfQU5EX1NFVF9OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIAleCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19k ZWZhdWx0LmMoOTg1KTogZXJyb3I6IHN0cnVjdCAiZXRoX2Rldl9vcHMiIGhhcyBubyBmaWVsZCAi dG1fb3BzX2dldCIKICAJQ0hFQ0tfQU5EX1NFVF9OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIAle Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9l dGhfc29mdG5pY19kZWZhdWx0LmMoMTEwNyk6IGVycm9yOiBzdHJ1Y3QgImV0aF9kZXZfb3BzIiBo YXMgbm8gZmllbGQgInRtX29wc19nZXQiCiAgCUNIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0 bV9vcHNfZ2V0KTsKICAJXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jKDExMDcpOiBlcnJvcjogc3RydWN0 ICJldGhfZGV2X29wcyIgaGFzIG5vIGZpZWxkICJ0bV9vcHNfZ2V0IgogIAlDSEVDS19BTkRfU0VU X05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgCV4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYygxMTA3 KTogZXJyb3I6IHN0cnVjdCAiZXRoX2Rldl9vcHMiIGhhcyBubyBmaWVsZCAidG1fb3BzX2dldCIK ICAJQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIAleCmNvbXBpbGF0 aW9uIGFib3J0ZWQgZm9yIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmMgKGNvZGUgMikKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5vJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdzb2Z0bmljJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9y IHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxs JyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzU6Ck9TOiBSSEVMNy4zXzY0ClRhcmdldDogeDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1pY2MKUE1ESU5GTyBydGVfZXRoX3NvZnRuaWMuby5wbWQuYyAgTEQg cnRlX2V0aF9zb2Z0bmljLm8vaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jKDc1OSk6IGVycm9yOiBzdHJ1Y3Qg ImV0aF9kZXZfb3BzIiBoYXMgbm8gZmllbGQgInRtX29wc19nZXQiCiAgCXJldHVybiBkZXYtPmRl dl9vcHMtPnRtX29wc19nZXQoZGV2LCBvcHMpOwogIAkgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhf c29mdG5pY19kZWZhdWx0LmMoODczKTogZXJyb3I6IHN0cnVjdCAiZXRoX2Rldl9vcHMiIGhhcyBu byBmaWVsZCAidG1fb3BzX2dldCIKICAJLnRtX29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICAJ IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRl X2V0aF9zb2Z0bmljX2RlZmF1bHQuYyg5ODUpOiBlcnJvcjogc3RydWN0ICJldGhfZGV2X29wcyIg aGFzIG5vIGZpZWxkICJ0bV9vcHNfZ2V0IgogIAlDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1f b3BzX2dldCk7CiAgCV4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYyg5ODUpOiBlcnJvcjogc3RydWN0ICJl dGhfZGV2X29wcyIgaGFzIG5vIGZpZWxkICJ0bV9vcHNfZ2V0IgogIAlDSEVDS19BTkRfU0VUX05V TEwobywgdSwgdG1fb3BzX2dldCk7CiAgCV4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYygxMTA3KTogZXJy b3I6IHN0cnVjdCAiZXRoX2Rldl9vcHMiIGhhcyBubyBmaWVsZCAidG1fb3BzX2dldCIKICAJQ0hF Q0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIAleCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmMoMTEwNyk6IGVycm9yOiBzdHJ1Y3QgImV0aF9kZXZfb3BzIiBoYXMgbm8gZmllbGQgInRt X29wc19nZXQiCiAgCUNIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICAJ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVf ZXRoX3NvZnRuaWNfZGVmYXVsdC5jKDExMDcpOiBlcnJvcjogc3RydWN0ICJldGhfZGV2X29wcyIg aGFzIG5vIGZpZWxkICJ0bV9vcHNfZ2V0IgogIAlDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwg dG1fb3BzX2dldCk7CiAgCV4KY29tcGlsYXRpb24gYWJvcnRlZCBmb3IgL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1 bHQuYyAoY29kZSAyKQoKCkZhaWxlZCBCdWlsZCAjNjoKT1M6IEZDMjVfNjQKVGFyZ2V0OiB4ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWljYwpQTURJTkZPIHJ0ZV9ldGhfc29mdG5pYy5vLnBtZC5jICBM RCBydGVfZXRoX3NvZnRuaWMuby9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmMoNzU5KTogZXJyb3I6IHN0cnVj dCAiZXRoX2Rldl9vcHMiIGhhcyBubyBmaWVsZCAidG1fb3BzX2dldCIKICAJcmV0dXJuIGRldi0+ ZGV2X29wcy0+dG1fb3BzX2dldChkZXYsIG9wcyk7CiAgCSAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0 aF9zb2Z0bmljX2RlZmF1bHQuYyg4NzMpOiBlcnJvcjogc3RydWN0ICJldGhfZGV2X29wcyIgaGFz IG5vIGZpZWxkICJ0bV9vcHNfZ2V0IgogIAkudG1fb3BzX2dldCA9IHBtZF90bV9vcHNfZ2V0LAog IAkgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jKDk4NSk6IGVycm9yOiBzdHJ1Y3QgImV0aF9kZXZfb3Bz IiBoYXMgbm8gZmllbGQgInRtX29wc19nZXQiCiAgCUNIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0 bV9vcHNfZ2V0KTsKICAJXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jKDk4NSk6IGVycm9yOiBzdHJ1Y3Qg ImV0aF9kZXZfb3BzIiBoYXMgbm8gZmllbGQgInRtX29wc19nZXQiCiAgCUNIRUNLX0FORF9TRVRf TlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICAJXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jKDExMDcpOiBl cnJvcjogc3RydWN0ICJldGhfZGV2X29wcyIgaGFzIG5vIGZpZWxkICJ0bV9vcHNfZ2V0IgogIAlD SEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgCV4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYygxMTA3KTogZXJyb3I6IHN0cnVjdCAiZXRoX2Rldl9vcHMiIGhhcyBubyBmaWVsZCAi dG1fb3BzX2dldCIKICAJQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwog IAleCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0 ZV9ldGhfc29mdG5pY19kZWZhdWx0LmMoMTEwNyk6IGVycm9yOiBzdHJ1Y3QgImV0aF9kZXZfb3Bz IiBoYXMgbm8gZmllbGQgInRtX29wc19nZXQiCiAgCUNIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1 LCB0bV9vcHNfZ2V0KTsKICAJXgpjb21waWxhdGlvbiBhYm9ydGVkIGZvciAvaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVm YXVsdC5jIChjb2RlIDIpCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5h bC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAncnRlX2V0aF9zb2Z0 bmljX2RlZmF1bHQubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnc29mdG5pYycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9y IHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUg Zm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM3OgpP UzogRnJlZUJTRDEwLjNfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZwpQTURJ TkZPIHJ0ZV9ldGhfc29mdG5pYy5vLnBtZC5jICBMRCBydGVfZXRoX3NvZnRuaWMuby9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5p Y19kZWZhdWx0LmM6NzU5OjIzOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd0bV9vcHNfZ2V0JyBp biAnc3RydWN0IGV0aF9kZXZfb3BzJwogICAgICAgIHJldHVybiBkZXYtPmRldl9vcHMtPnRtX29w c19nZXQoZGV2LCBvcHMpOwogICAgICAgICAgICAgICB+fn5+fn5+fn5+fn4gIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmlj X2RlZmF1bHQuYzo4NzM6MzogZXJyb3I6IGZpZWxkIGRlc2lnbmF0b3IgJ3RtX29wc19nZXQnIGRv ZXMgbm90IHJlZmVyIHRvIGFueSBmaWVsZCBpbiB0eXBlICdjb25zdCBzdHJ1Y3QgZXRoX2Rldl9v cHMnCiAgICAgICAgLnRtX29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3Nv ZnRuaWNfZGVmYXVsdC5jOjk4NToyNzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dl dCcgaW4gJ3N0cnVjdCBldGhfZGV2X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05VTEwobywg dSwgdG1fb3BzX2dldCk7CiAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0 ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc3OjEyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3Jv ICdDSEVDS19BTkRfU0VUX05VTEwnCiAgICAgICAgaWYgKCEodSktPmZ1bmMpICAgICAgICAgICAg ICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4 NToyNzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBldGhf ZGV2X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7CiAg ICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmM6ODc4Ojg6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NIRUNLX0FORF9TRVRfTlVM TCcKICAgICAgICAgICAgICAgIChvKS0+ZnVuYyA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjEx MDc6MzA6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQnIGluICdzdHJ1Y3QgZXRo X2Rldl9vcHMnCiAgICAgICAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQp OwogICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg4MjoxMTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ0hFQ0tfQU5E X1NFVF9OT05OVUxMJwogICAgICAgIGlmICgodSktPmZ1bmMpICAgICAgICAgICAgICAgICAgICAg ICAgICBcCiAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6MzA6IGVy cm9yOiBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQnIGluICdzdHJ1Y3QgZXRoX2Rldl9vcHMn CiAgICAgICAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogICAgICAg IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOjg4Mzo4OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDSEVDS19BTkRfU0VUX05PTk5V TEwnCiAgICAgICAgICAgICAgICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgICAgICAgICAgICAg ICAgXAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzozMDog ZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBldGhfZGV2X29w cycKICAgICAgICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmM6ODgzOjIwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDSEVDS19BTkRfU0VUX05P Tk5VTEwnCiAgICAgICAgICAgICAgICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgICAgICAgICAg ICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCjcgZXJyb3JzIGdlbmVy YXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21w aWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzb2Z0bmljJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdu ZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxk Lm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2lu c3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzg6Ck9TOiBGcmVlQlNE MTAuM182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwpQTURJTkZPIHJ0ZV9ldGhf c29mdG5pYy5vLnBtZC5jICBMRCBydGVfZXRoX3NvZnRuaWMuby9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 IEluIGZ1bmN0aW9uICdwbWRfdG1fb3BzX2dldCc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6NzU5OjIx OiBlcnJvcjogJ2NvbnN0IHN0cnVjdCBldGhfZGV2X29wcycgaGFzIG5vIG1lbWJlciBuYW1lZCAn dG1fb3BzX2dldCcKICByZXR1cm4gZGV2LT5kZXZfb3BzLT50bV9vcHNfZ2V0KGRldiwgb3BzKTsK ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBBdCB0b3AgbGV2ZWw6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9l dGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjI6IGVycm9yOiB1bmtub3duIGZpZWxkICd0bV9vcHNf Z2V0JyBzcGVjaWZpZWQgaW4gaW5pdGlhbGl6ZXIKICAudG1fb3BzX2dldCA9IHBtZF90bV9vcHNf Z2V0LAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRu aWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6MjogZXJyb3I6IGV4Y2VzcyBlbGVtZW50 cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODcz OjI6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3IgJ3BtZF9vcHNfZGVmYXVsdCcpIFst V2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5p Yy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiAncG1kX29wc19jaGVja19h bmRfc2V0X251bGwnOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv c29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3NzoxMDogZXJyb3I6ICdjb25zdCBz dHJ1Y3QgZXRoX2Rldl9vcHMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQnCiAgaWYg KCEodSktPmZ1bmMpICAgIFwKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo5ODU6Mjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdDSEVDS19BTkRfU0VUX05VTEwnCiAgQ0hFQ0tf QU5EX1NFVF9OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4 Nzg6NjogZXJyb3I6ICdzdHJ1Y3QgZXRoX2Rldl9vcHMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3Rt X29wc19nZXQnCiAgIChvKS0+ZnVuYyA9IE5VTEw7ICAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVm YXVsdC5jOjk4NToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0NIRUNLX0FORF9TRVRf TlVMTCcKICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiAncG1kX29wc19kZXJpdmUnOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVm YXVsdC5jOjg4Mjo5OiBlcnJvcjogJ2NvbnN0IHN0cnVjdCBldGhfZGV2X29wcycgaGFzIG5vIG1l bWJlciBuYW1lZCAndG1fb3BzX2dldCcKICBpZiAoKHUpLT5mdW5jKSAgICBcCiAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0 aF9zb2Z0bmljX2RlZmF1bHQuYzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn Q0hFQ0tfQU5EX1NFVF9OT05OVUxMJwogIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9v cHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9z b2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgzOjY6IGVycm9yOiAnc3RydWN0IGV0 aF9kZXZfb3BzJyBoYXMgbm8gbWVtYmVyIG5hbWVkICd0bV9vcHNfZ2V0JwogICAobyktPmZ1bmMg PSAodSktPmZ1bmM7ICAgXAogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0NIRUNLX0FORF9TRVRfTk9OTlVMTCcKICBDSEVDS19B TkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j Ojg4MzoxODogZXJyb3I6ICdjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHMnIGhhcyBubyBtZW1iZXIg bmFtZWQgJ3RtX29wc19nZXQnCiAgIChvKS0+ZnVuYyA9ICh1KS0+ZnVuYzsgICBcCiAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3Nv ZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyAnQ0hFQ0tfQU5EX1NFVF9OT05OVUxMJwogIENIRUNLX0FORF9TRVRfTk9OTlVM TChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQg YXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUu Y29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAncnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3Vi ZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnc29mdG5pYycgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdl dCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGti dWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUgZm9yIHRh cmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z ZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3OiByZWNp cGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM5OgpPUzogQ2Vu dE9TN182NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwpQTURJTkZPIHJ0ZV9ldGhf c29mdG5pYy5vLnBtZC5jICBMRCBydGVfZXRoX3NvZnRuaWMuby9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 IEluIGZ1bmN0aW9uIOKAmHBtZF90bV9vcHNfZ2V04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjc1 OToyMTogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVy IG5hbWVkIOKAmHRtX29wc19nZXTigJkKICByZXR1cm4gZGV2LT5kZXZfb3BzLT50bV9vcHNfZ2V0 KGRldiwgb3BzKTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBB dCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9z b2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjI6IGVycm9yOiB1bmtub3duIGZp ZWxkIOKAmHRtX29wc19nZXTigJkgc3BlY2lmaWVkIGluIGluaXRpYWxpemVyCiAgLnRtX29wc19n ZXQgPSBwbWRfdG1fb3BzX2dldCwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjI6IGVycm9y OiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxpemVyIFstV2Vycm9yXQovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBt ZF9vcHNfZGVmYXVsdOKAmSkgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6IEluIGZ1bmN0 aW9uIOKAmHBtZF9vcHNfY2hlY2tfYW5kX3NldF9udWxs4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j Ojg3NzoxMDogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICBpZiAoISh1KS0+ZnVuYykgICAgXAogICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYQ0hFQ0tfQU5EX1NFVF9OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OVUxMKG8sIHUsIHRt X29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzg6NjogZXJyb3I6IOKAmHN0cnVj dCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAg KG8pLT5mdW5jID0gTlVMTDsgICAgXAogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6OTg1OjI6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05VTEzigJkKICBD SEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfb3BzX2Rlcml2ZeKAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu Yzo4ODI6OTogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICBpZiAoKHUpLT5mdW5jKSAgICBcCiAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRl X2V0aF9zb2Z0bmljX2RlZmF1bHQuYzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhDSEVDS19BTkRfU0VUX05PTk5VTEzigJkKICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywg dSwgdG1fb3BzX2dldCk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg4Mzo2OiBlcnJvcjog4oCY c3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKA mQogICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgXAogICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0 LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9O T05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0 aF9zb2Z0bmljX2RlZmF1bHQuYzo4ODM6MTg6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rl dl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgIChvKS0+ZnVu YyA9ICh1KS0+ZnVuYzsgICBcCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu YzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05P Tk5VTEzigJkKICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXgpj YzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAj MTA6Ck9TOiBDZW50T1M3XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpQ TURJTkZPIHJ0ZV9ldGhfc29mdG5pYy5vLnBtZC5jICBMRCBydGVfZXRoX3NvZnRuaWMuby9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6NzU5OjIzOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd0bV9vcHNfZ2V0 JyBpbiAnc3RydWN0IGV0aF9kZXZfb3BzJwogICAgICAgIHJldHVybiBkZXYtPmRldl9vcHMtPnRt X29wc19nZXQoZGV2LCBvcHMpOwogICAgICAgICAgICAgICB+fn5+fn5+fn5+fn4gIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0 bmljX2RlZmF1bHQuYzo4NzM6MzogZXJyb3I6IGZpZWxkIGRlc2lnbmF0b3IgJ3RtX29wc19nZXQn IGRvZXMgbm90IHJlZmVyIHRvIGFueSBmaWVsZCBpbiB0eXBlICdjb25zdCBzdHJ1Y3QgZXRoX2Rl dl9vcHMnCiAgICAgICAgLnRtX29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRo X3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyNzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3Bz X2dldCcgaW4gJ3N0cnVjdCBldGhfZGV2X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05VTEwo bywgdSwgdG1fb3BzX2dldCk7CiAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmlj L3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc3OjEyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1h Y3JvICdDSEVDS19BTkRfU0VUX05VTEwnCiAgICAgICAgaWYgKCEodSktPmZ1bmMpICAgICAgICAg ICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j Ojk4NToyNzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBl dGhfZGV2X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7 CiAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19k ZWZhdWx0LmM6ODc4Ojg6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NIRUNLX0FORF9TRVRf TlVMTCcKICAgICAgICAgICAgICAgIChvKS0+ZnVuYyA9IE5VTEw7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j OjExMDc6MzA6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQnIGluICdzdHJ1Y3Qg ZXRoX2Rldl9vcHMnCiAgICAgICAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19n ZXQpOwogICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3Nv ZnRuaWNfZGVmYXVsdC5jOjg4MjoxMTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ0hFQ0tf QU5EX1NFVF9OT05OVUxMJwogICAgICAgIGlmICgodSktPmZ1bmMpICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6MzA6 IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQnIGluICdzdHJ1Y3QgZXRoX2Rldl9v cHMnCiAgICAgICAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogICAg ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVm YXVsdC5jOjg4Mzo4OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDSEVDS19BTkRfU0VUX05P Tk5VTEwnCiAgICAgICAgICAgICAgICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgICAgICAgICAg ICAgICAgXAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoz MDogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBldGhfZGV2 X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAg ICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19k ZWZhdWx0LmM6ODgzOjIwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDSEVDS19BTkRfU0VU X05PTk5VTEwnCiAgICAgICAgICAgICAgICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgICAgICAg ICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCjcgZXJyb3JzIGdl bmVyYXRlZC4KCgpGYWlsZWQgQnVpbGQgIzExOgpPUzogQ2VudE9TN182NApUYXJnZXQ6IHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKUE1ESU5GTyBydGVfZXRoX3NvZnRuaWMuby5w bWQuYyAgTEQgcnRlX2V0aF9zb2Z0bmljLm8vaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlv biDigJhwbWRfdG1fb3BzX2dldOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo3NTk6MjE6IGVycm9y OiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0 bV9vcHNfZ2V04oCZCiAgcmV0dXJuIGRldi0+ZGV2X29wcy0+dG1fb3BzX2dldChkZXYsIG9wcyk7 CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogQXQgdG9wIGxldmVs OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVf ZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogdW5rbm93biBmaWVsZCDigJh0bV9v cHNfZ2V04oCZIHNwZWNpZmllZCBpbiBpbml0aWFsaXplcgogIC50bV9vcHNfZ2V0ID0gcG1kX3Rt X29wc19nZXQsCiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv c29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogZXhjZXNzIGVs ZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu Yzo4NzM6MjogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbWRfb3BzX2RlZmF1 bHTigJkpIFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRf b3BzX2NoZWNrX2FuZF9zZXRfbnVsbOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzc6MTA6IGVy cm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJh0bV9vcHNfZ2V04oCZCiAgaWYgKCEodSktPmZ1bmMpICAgIFwKICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0 bmljX2RlZmF1bHQuYzo5ODU6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNL X0FORF9TRVRfTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsK ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0 ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc4OjY6IGVycm9yOiDigJhzdHJ1Y3QgZXRoX2Rldl9v cHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgIChvKS0+ZnVuYyA9 IE5VTEw7ICAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NF VF9OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVu Y3Rpb24g4oCYcG1kX29wc19kZXJpdmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgyOjk6IGVy cm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJh0bV9vcHNfZ2V04oCZCiAgaWYgKCh1KS0+ZnVuYykgICAgXAogICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5p Y19kZWZhdWx0LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tf QU5EX1NFVF9OT05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19n ZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRu aWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4ODM6NjogZXJyb3I6IOKAmHN0cnVjdCBldGhf ZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAgKG8pLT5m dW5jID0gKHUpLT5mdW5jOyAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQog IENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19k ZWZhdWx0LmM6ODgzOjE4OiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhh cyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogICAobyktPmZ1bmMgPSAodSktPmZ1 bmM7ICAgXAogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05OVUxM4oCZCiAg Q0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KY2MxOiBhbGwgd2Fy bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCgpGYWlsZWQgQnVpbGQgIzEyOgpPUzogQ2Vu dE9TN182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjClBNRElORk8gcnRlX2V0 aF9zb2Z0bmljLm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29mdG5pYy5vL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu YzogSW4gZnVuY3Rpb24g4oCYcG1kX3RtX29wc19nZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 NzU5OjIxOiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1i ZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogIHJldHVybiBkZXYtPmRldl9vcHMtPnRtX29wc19n ZXQoZGV2LCBvcHMpOwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6MjogZXJyb3I6IHVua25vd24g ZmllbGQg4oCYdG1fb3BzX2dldOKAmSBzcGVjaWZpZWQgaW4gaW5pdGlhbGl6ZXIKICAudG1fb3Bz X2dldCA9IHBtZF90bV9vcHNfZ2V0LAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6MjogZXJy b3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6ODczOjI6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCY cG1kX29wc19kZWZhdWx04oCZKSBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVu Y3Rpb24g4oCYcG1kX29wc19jaGVja19hbmRfc2V0X251bGzigJk6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0 LmM6ODc3OjEwOiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBt ZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogIGlmICghKHUpLT5mdW5jKSAgICBcCiAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmlj L3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6OTg1OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhDSEVDS19BTkRfU0VUX05VTEzigJkKICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwg dG1fb3BzX2dldCk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3ODo2OiBlcnJvcjog4oCYc3Ry dWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQog ICAobyktPmZ1bmMgPSBOVUxMOyAgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo5ODU6 Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTlVMTOKAmQog IENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmM6IEluIGZ1bmN0aW9uIOKAmHBtZF9vcHNfZGVyaXZl4oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOjg4Mjo5OiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBt ZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogIGlmICgodSktPmZ1bmMpICAgIFwKICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h Y3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVMTChv LCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgzOjY6IGVycm9yOiDi gJhzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V0 4oCZCiAgIChvKS0+ZnVuYyA9ICh1KS0+ZnVuYzsgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1 bHQuYzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VU X05PTk5VTEzigJkKICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVf ZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg4MzoxODogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhf ZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAgKG8pLT5m dW5jID0gKHUpLT5mdW5jOyAgIFwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRf Tk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBe CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxk ICMxMzoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nClBN RElORk8gcnRlX2V0aF9zb2Z0bmljLm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29mdG5pYy5vL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0 bmljX2RlZmF1bHQuYzo3NTk6MjM6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQn IGluICdzdHJ1Y3QgZXRoX2Rldl9vcHMnCiAgICAgICAgcmV0dXJuIGRldi0+ZGV2X29wcy0+dG1f b3BzX2dldChkZXYsIG9wcyk7CiAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg3MzozOiBlcnJvcjogZmllbGQgZGVzaWduYXRvciAndG1fb3BzX2dldCcg ZG9lcyBub3QgcmVmZXIgdG8gYW55IGZpZWxkIGluIHR5cGUgJ2NvbnN0IHN0cnVjdCBldGhfZGV2 X29wcycKICAgICAgICAudG1fb3BzX2dldCA9IHBtZF90bV9vcHNfZ2V0LAogICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhf c29mdG5pY19kZWZhdWx0LmM6OTg1OjI3OiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd0bV9vcHNf Z2V0JyBpbiAnc3RydWN0IGV0aF9kZXZfb3BzJwogICAgICAgIENIRUNLX0FORF9TRVRfTlVMTChv LCB1LCB0bV9vcHNfZ2V0KTsKICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMv cnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzc6MTI6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFj cm8gJ0NIRUNLX0FORF9TRVRfTlVMTCcKICAgICAgICBpZiAoISh1KS0+ZnVuYykgICAgICAgICAg ICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 OTg1OjI3OiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd0bV9vcHNfZ2V0JyBpbiAnc3RydWN0IGV0 aF9kZXZfb3BzJwogICAgICAgIENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsK ICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzo4Nzg6ODogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ0hFQ0tfQU5EX1NFVF9O VUxMJwogICAgICAgICAgICAgICAgKG8pLT5mdW5jID0gTlVMTDsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 MTEwNzozMDogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBl dGhfZGV2X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dl dCk7CiAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6ODgyOjExOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDSEVDS19B TkRfU0VUX05PTk5VTEwnCiAgICAgICAgaWYgKCh1KS0+ZnVuYykgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzozMDog ZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBldGhfZGV2X29w cycKICAgICAgICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmM6ODgzOjg6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NIRUNLX0FORF9TRVRfTk9O TlVMTCcKICAgICAgICAgICAgICAgIChvKS0+ZnVuYyA9ICh1KS0+ZnVuYzsgICAgICAgICAgICAg ICAgICBcCiAgICAgICAgICAgICAgICB+fn4gIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzoxMTA3OjMw OiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd0bV9vcHNfZ2V0JyBpbiAnc3RydWN0IGV0aF9kZXZf b3BzJwogICAgICAgIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICAg ICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzo4ODM6MjA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NIRUNLX0FORF9TRVRf Tk9OTlVMTCcKICAgICAgICAgICAgICAgIChvKS0+ZnVuYyA9ICh1KS0+ZnVuYzsgICAgICAgICAg ICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn4gIF4KNyBlcnJvcnMgZ2Vu ZXJhdGVkLgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNv bXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRp ci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ3NvZnRuaWMnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQg J25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVp bGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0YXJn ZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr aW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBl IGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTQ6Ck9TOiBGQzI0 XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjClBNRElORk8gcnRlX2V0aF9zb2Z0 bmljLm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29mdG5pYy5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4g ZnVuY3Rpb24g4oCYcG1kX3RtX29wc19nZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6NzU5OjIx OiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFt ZWQg4oCYdG1fb3BzX2dldOKAmTsgZGlkIHlvdSBtZWFuIOKAmHN0YXRzX2dldOKAmT8KICByZXR1 cm4gZGV2LT5kZXZfb3BzLT50bV9vcHNfZ2V0KGRldiwgb3BzKTsKICAgICAgICAgICAgICAgICAg ICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMv cnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogQXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOjg3MzoyOiBlcnJvcjogdW5rbm93biBmaWVsZCDigJh0bV9vcHNfZ2V04oCZIHNwZWNpZmll ZCBpbiBpbml0aWFsaXplcgogIC50bV9vcHNfZ2V0ID0gcG1kX3RtX29wc19nZXQsCiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3Nv ZnRuaWNfZGVmYXVsdC5jOjg3MzoxNjogZXJyb3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3Qg aW5pdGlhbGl6ZXIgWy1XZXJyb3JdCiAgLnRtX29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjE2OiBu b3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcG1kX29wc19kZWZhdWx04oCZKQovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3Nv ZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfb3BzX2NoZWNrX2FuZF9zZXRfbnVs bOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMv cnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzc6MTA6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3Qg ZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQg eW91IG1lYW4g4oCYc3RhdHNfZ2V04oCZPwogIGlmICghKHUpLT5mdW5jKSAgICBcCiAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0 ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6OTg1OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhDSEVDS19BTkRfU0VUX05VTEzigJkKICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1f b3BzX2dldCk7CiAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc4OjY6 IGVycm9yOiDigJhzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0 bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g4oCYc3RhdHNfZ2V04oCZPwogICAobyktPmZ1bmMg PSBOVUxMOyAgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo5ODU6Mjogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTlVMTOKAmQogIENIRUNLX0FORF9T RVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmlj X2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1kX29wc19kZXJpdmXigJk6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19k ZWZhdWx0LmM6ODgyOjk6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g4oCYc3RhdHNf Z2V04oCZPwogIGlmICgodSktPmZ1bmMpICAgIFwKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRf Tk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBe fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4ODM6NjogZXJyb3I6IOKA mHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTi gJk7IGRpZCB5b3UgbWVhbiDigJhzdGF0c19nZXTigJk/CiAgIChvKS0+ZnVuYyA9ICh1KS0+ZnVu YzsgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzoxMTA3OjI6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05PTk5VTEzigJkKICBDSEVDS19BTkRfU0VU X05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6ODgzOjE4OiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz 4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmTsgZGlkIHlvdSBtZWFuIOKA mHN0YXRzX2dldOKAmT8KICAgKG8pLT5mdW5jID0gKHUpLT5mdW5jOyAgIFwKICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5p Yy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVM TChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2Fy bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzb2Z0bmlj JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6 NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVy cycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5t azoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdw cmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWls ZWQgQnVpbGQgIzE1OgpPUzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjClBNRElORk8gcnRlX2V0aF9zb2Z0bmljLm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29mdG5pYy5v L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0 aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1kX3RtX29wc19nZXTigJk6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhf c29mdG5pY19kZWZhdWx0LmM6NzU5OjIxOiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZf b3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmTsgZGlkIHlvdSBtZWFu IOKAmHN0YXRzX2dldOKAmT8KICByZXR1cm4gZGV2LT5kZXZfb3BzLT50bV9vcHNfZ2V0KGRldiwg b3BzKTsKICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogQXQgdG9w IGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5p Yy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogdW5rbm93biBmaWVsZCDi gJh0bV9vcHNfZ2V04oCZIHNwZWNpZmllZCBpbiBpbml0aWFsaXplcgogIC50bV9vcHNfZ2V0ID0g cG1kX3RtX29wc19nZXQsCiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3MzoxNjogZXJyb3I6IGV4 Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCiAgLnRtX29wc19n ZXQgPSBwbWRfdG1fb3BzX2dldCwKICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6ODczOjE2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCY cG1kX29wc19kZWZhdWx04oCZKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhw bWRfb3BzX2NoZWNrX2FuZF9zZXRfbnVsbOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzc6MTA6 IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1l ZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g4oCYc3RhdHNfZ2V04oCZPwogIGlmICgh KHUpLT5mdW5jKSAgICBcCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6OTg1OjI6IG5v dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05VTEzigJkKICBDSEVD S19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhf c29mdG5pY19kZWZhdWx0LmM6ODc4OjY6IGVycm9yOiDigJhzdHJ1Y3QgZXRoX2Rldl9vcHPigJkg aGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g4oCYc3Rh dHNfZ2V04oCZPwogICAobyktPmZ1bmMgPSBOVUxMOyAgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzo5ODU6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9T RVRfTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+ fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1kX29w c19kZXJpdmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9z b2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgyOjk6IGVycm9yOiDigJhjb25zdCBz dHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZ OyBkaWQgeW91IG1lYW4g4oCYc3RhdHNfZ2V04oCZPwogIGlmICgodSktPmZ1bmMpICAgIFwKICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5p Yy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVM TChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzo4ODM6NjogZXJyb3I6IOKAmHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJk7IGRpZCB5b3UgbWVhbiDigJhzdGF0c19nZXTigJk/ CiAgIChvKS0+ZnVuYyA9ICh1KS0+ZnVuYzsgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu YzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05P Tk5VTEzigJkKICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgzOjE4OiBlcnJvcjog4oCY Y29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3Bz X2dldOKAmTsgZGlkIHlvdSBtZWFuIOKAmHN0YXRzX2dldOKAmT8KICAgKG8pLT5mdW5jID0gKHUp LT5mdW5jOyAgIFwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6 Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKA mQogIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+fn5+fn5+ fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5t azoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5vJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdzb2Z0bmljJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiBy ZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6 ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE2OgpPUzogRkMyNF82NApUYXJnZXQ6 IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKUE1ESU5GTyBydGVfZXRoX3NvZnRu aWMuby5wbWQuYyAgTEQgcnRlX2V0aF9zb2Z0bmljLm8vaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBm dW5jdGlvbiDigJhwbWRfdG1fb3BzX2dldOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo3NTk6MjE6 IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1l ZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g4oCYc3RhdHNfZ2V04oCZPwogIHJldHVy biBkZXYtPmRldl9vcHMtPnRtX29wc19nZXQoZGV2LCBvcHMpOwogICAgICAgICAgICAgICAgICAg ICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0 LmM6ODczOjI6IGVycm9yOiB1bmtub3duIGZpZWxkIOKAmHRtX29wc19nZXTigJkgc3BlY2lmaWVk IGluIGluaXRpYWxpemVyCiAgLnRtX29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6ODczOjE2OiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBp bml0aWFsaXplciBbLVdlcnJvcl0KICAudG1fb3BzX2dldCA9IHBtZF90bV9vcHNfZ2V0LAogICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6MTY6IG5v dGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbWRfb3BzX2RlZmF1bHTigJkpCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6IEluIGZ1bmN0aW9uIOKAmHBtZF9vcHNfY2hlY2tfYW5kX3NldF9udWxs 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3NzoxMDogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBl dGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJk7IGRpZCB5 b3UgbWVhbiDigJhzdGF0c19nZXTigJk/CiAgaWYgKCEodSktPmZ1bmMpICAgIFwKICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRl X2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo5ODU6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmENIRUNLX0FORF9TRVRfTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9v cHNfZ2V0KTsKICBefn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzg6Njog ZXJyb3I6IOKAmHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRt X29wc19nZXTigJk7IGRpZCB5b3UgbWVhbiDigJhzdGF0c19nZXTigJk/CiAgIChvKS0+ZnVuYyA9 IE5VTEw7ICAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NF VF9OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNf ZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfb3BzX2Rlcml2ZeKAmToKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzo4ODI6OTogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJk7IGRpZCB5b3UgbWVhbiDigJhzdGF0c19n ZXTigJk/CiAgaWYgKCh1KS0+ZnVuYykgICAgXAogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0 LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9O T05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg4Mzo2OiBlcnJvcjog4oCY c3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKA mTsgZGlkIHlvdSBtZWFuIOKAmHN0YXRzX2dldOKAmT8KICAgKG8pLT5mdW5jID0gKHUpLT5mdW5j OyAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv c29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRf Tk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0 bmljX2RlZmF1bHQuYzo4ODM6MTg6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPi gJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g4oCY c3RhdHNfZ2V04oCZPwogICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgXAogICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmlj L3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxM KG8sIHUsIHRtX29wc19nZXQpOwogIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJu aW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQg J3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ3NvZnRuaWMn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2 MzogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJz JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1r OjEyODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3By ZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z ZGtyb290Lm1rOjEwNzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxl ZCBCdWlsZCAjMTc6Ck9TOiBGQzI0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MtZGVidWcKClBNRElORk8gcnRlX2V0aF9zb2Z0bmljLm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29m dG5pYy5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMv cnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1kX3RtX29wc19nZXTi gJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0 ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6NzU5OjIxOiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0 aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmTsgZGlkIHlv dSBtZWFuIOKAmHN0YXRzX2dldOKAmT8KICByZXR1cm4gZGV2LT5kZXZfb3BzLT50bV9vcHNfZ2V0 KGRldiwgb3BzKTsKICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzog QXQgdG9wIGxldmVsOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv c29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3MzoyOiBlcnJvcjogdW5rbm93biBm aWVsZCDigJh0bV9vcHNfZ2V04oCZIHNwZWNpZmllZCBpbiBpbml0aWFsaXplcgogIC50bV9vcHNf Z2V0ID0gcG1kX3RtX29wc19nZXQsCiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3MzoxNjogZXJy b3I6IGV4Y2VzcyBlbGVtZW50cyBpbiBzdHJ1Y3QgaW5pdGlhbGl6ZXIgWy1XZXJyb3JdCiAgLnRt X29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9l dGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjE2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBm b3Ig4oCYcG1kX29wc19kZWZhdWx04oCZKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlv biDigJhwbWRfb3BzX2NoZWNrX2FuZF9zZXRfbnVsbOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4 Nzc6MTA6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJl ciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g4oCYc3RhdHNfZ2V04oCZPwog IGlmICghKHUpLT5mdW5jKSAgICBcCiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6OTg1 OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05VTEzigJkK ICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXn5+fn5+fn5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0 ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc4OjY6IGVycm9yOiDigJhzdHJ1Y3QgZXRoX2Rldl9v cHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZOyBkaWQgeW91IG1lYW4g 4oCYc3RhdHNfZ2V04oCZPwogICAobyktPmZ1bmMgPSBOVUxMOyAgICBcCiAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0 bmljX2RlZmF1bHQuYzo5ODU6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNL X0FORF9TRVRfTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsK ICBefn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCY cG1kX29wc19kZXJpdmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgyOjk6IGVycm9yOiDigJhj b25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNf Z2V04oCZOyBkaWQgeW91IG1lYW4g4oCYc3RhdHNfZ2V04oCZPwogIGlmICgodSktPmZ1bmMpICAg IFwKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv c29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRf Tk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0 bmljX2RlZmF1bHQuYzo4ODM6NjogZXJyb3I6IOKAmHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJk7IGRpZCB5b3UgbWVhbiDigJhzdGF0c19n ZXTigJk/CiAgIChvKS0+ZnVuYyA9ICh1KS0+ZnVuYzsgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzoxMTA3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRf U0VUX05PTk5VTEzigJkKICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7 CiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgzOjE4OiBlcnJv cjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY dG1fb3BzX2dldOKAmTsgZGlkIHlvdSBtZWFuIOKAmHN0YXRzX2dldOKAmT8KICAgKG8pLT5mdW5j ID0gKHUpLT5mdW5jOyAgIFwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j OjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9O TlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBefn5+ fn5+fn5+fn5+fn5+fn5+fn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJv cnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxl LXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5v JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6 NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzb2Z0bmljJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1r OjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdh bGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3Rh bGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE4OgpPUzogVUIxNjA0XzY0 ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjClBNRElORk8gcnRlX2V0aF9zb2Z0bmlj Lm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29mdG5pYy5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVu Y3Rpb24g4oCYcG1kX3RtX29wc19nZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6NzU5OjIxOiBl cnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYdG1fb3BzX2dldOKAmQogIHJldHVybiBkZXYtPmRldl9vcHMtPnRtX29wc19nZXQoZGV2LCBv cHMpOwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6IEF0IHRvcCBs ZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMv cnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6MjogZXJyb3I6IHVua25vd24gZmllbGQg4oCY dG1fb3BzX2dldOKAmSBzcGVjaWZpZWQgaW4gaW5pdGlhbGl6ZXIKICAudG1fb3BzX2dldCA9IHBt ZF90bV9vcHNfZ2V0LAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4NzM6MTY6IGVycm9yOiBleGNl c3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRpYWxpemVyIFstV2Vycm9yXQogIC50bV9vcHNfZ2V0 ID0gcG1kX3RtX29wc19nZXQsCiAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 ODczOjE2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcG1kX29wc19kZWZhdWx0 4oCZKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJbiBmdW5jdGlvbiDigJhwbWRfb3BzX2NoZWNrX2Fu ZF9zZXRfbnVsbOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4Nzc6MTA6IGVycm9yOiDigJhjb25z dCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V0 4oCZCiAgaWYgKCEodSktPmZ1bmMpICAgIFwKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQu Yzo5ODU6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTlVM TOKAmQogIENIRUNLX0FORF9TRVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5p Y19kZWZhdWx0LmM6ODc4OjY6IGVycm9yOiDigJhzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5v IG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgIChvKS0+ZnVuYyA9IE5VTEw7ICAgIFwK ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5p Yy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4NToyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OVUxMKG8sIHUs IHRtX29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1k X29wc19kZXJpdmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgyOjk6IGVycm9yOiDigJhjb25z dCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V0 4oCZCiAgaWYgKCh1KS0+ZnVuYykgICAgXAogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6 MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05O VUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9z b2Z0bmljX2RlZmF1bHQuYzo4ODM6NjogZXJyb3I6IOKAmHN0cnVjdCBldGhfZGV2X29wc+KAmSBo YXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAgKG8pLT5mdW5jID0gKHUpLT5m dW5jOyAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9T RVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgz OjE4OiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIg bmFtZWQg4oCYdG1fb3BzX2dldOKAmQogICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgXAogICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NF VF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcg dHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVy bmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfZXRoX3Nv ZnRuaWNfZGVmYXVsdC5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzb2Z0bmljJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBm b3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE5 OgpPUzogVUIxNjA0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpQTURJ TkZPIHJ0ZV9ldGhfc29mdG5pYy5vLnBtZC5jICBMRCBydGVfZXRoX3NvZnRuaWMuby9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5p Y19kZWZhdWx0LmM6NzU5OjIzOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd0bV9vcHNfZ2V0JyBp biAnc3RydWN0IGV0aF9kZXZfb3BzJwogICAgICAgIHJldHVybiBkZXYtPmRldl9vcHMtPnRtX29w c19nZXQoZGV2LCBvcHMpOwogICAgICAgICAgICAgICB+fn5+fn5+fn5+fn4gIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmlj X2RlZmF1bHQuYzo4NzM6MzogZXJyb3I6IGZpZWxkIGRlc2lnbmF0b3IgJ3RtX29wc19nZXQnIGRv ZXMgbm90IHJlZmVyIHRvIGFueSBmaWVsZCBpbiB0eXBlICdjb25zdCBzdHJ1Y3QgZXRoX2Rldl9v cHMnCiAgICAgICAgLnRtX29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3Nv ZnRuaWNfZGVmYXVsdC5jOjk4NToyNzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dl dCcgaW4gJ3N0cnVjdCBldGhfZGV2X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05VTEwobywg dSwgdG1fb3BzX2dldCk7CiAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0 ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc3OjEyOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3Jv ICdDSEVDS19BTkRfU0VUX05VTEwnCiAgICAgICAgaWYgKCEodSktPmZ1bmMpICAgICAgICAgICAg ICAgICAgICAgICAgIFwKICAgICAgICAgICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjk4 NToyNzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBldGhf ZGV2X29wcycKICAgICAgICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7CiAg ICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmM6ODc4Ojg6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0NIRUNLX0FORF9TRVRfTlVM TCcKICAgICAgICAgICAgICAgIChvKS0+ZnVuYyA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKICAgICAgICAgICAgICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjEx MDc6MzA6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQnIGluICdzdHJ1Y3QgZXRo X2Rldl9vcHMnCiAgICAgICAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQp OwogICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg4MjoxMTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnQ0hFQ0tfQU5E X1NFVF9OT05OVUxMJwogICAgICAgIGlmICgodSktPmZ1bmMpICAgICAgICAgICAgICAgICAgICAg ICAgICBcCiAgICAgICAgICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6MzA6IGVy cm9yOiBubyBtZW1iZXIgbmFtZWQgJ3RtX29wc19nZXQnIGluICdzdHJ1Y3QgZXRoX2Rldl9vcHMn CiAgICAgICAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogICAgICAg IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOjg4Mzo4OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDSEVDS19BTkRfU0VUX05PTk5V TEwnCiAgICAgICAgICAgICAgICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgICAgICAgICAgICAg ICAgXAogICAgICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzozMDog ZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndG1fb3BzX2dldCcgaW4gJ3N0cnVjdCBldGhfZGV2X29w cycKICAgICAgICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgICAg ICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmM6ODgzOjIwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdDSEVDS19BTkRfU0VUX05P Tk5VTEwnCiAgICAgICAgICAgICAgICAobyktPmZ1bmMgPSAodSktPmZ1bmM7ICAgICAgICAgICAg ICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ICBeCjcgZXJyb3JzIGdlbmVy YXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21w aWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdzb2Z0bmljJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdu ZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxk Lm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2lu c3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzIwOgpPUzogVUIxNjA0 XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgpQTURJTkZPIHJ0 ZV9ldGhfc29mdG5pYy5vLnBtZC5jICBMRCBydGVfZXRoX3NvZnRuaWMuby9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZh dWx0LmM6IEluIGZ1bmN0aW9uIOKAmHBtZF90bV9vcHNfZ2V04oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOjc1OToyMTogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICByZXR1cm4gZGV2LT5kZXZfb3BzLT50bV9v cHNfZ2V0KGRldiwgb3BzKTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVs dC5jOiBBdCB0b3AgbGV2ZWw6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjI6IGVycm9yOiB1bmtu b3duIGZpZWxkIOKAmHRtX29wc19nZXTigJkgc3BlY2lmaWVkIGluIGluaXRpYWxpemVyCiAgLnRt X29wc19nZXQgPSBwbWRfdG1fb3BzX2dldCwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjE2 OiBlcnJvcjogZXhjZXNzIGVsZW1lbnRzIGluIHN0cnVjdCBpbml0aWFsaXplciBbLVdlcnJvcl0K ICAudG1fb3BzX2dldCA9IHBtZF90bV9vcHNfZ2V0LAogICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjg3MzoxNjogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBt ZF9vcHNfZGVmYXVsdOKAmSkKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1k X29wc19jaGVja19hbmRfc2V0X251bGzigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc3OjEwOiBl cnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYdG1fb3BzX2dldOKAmQogIGlmICghKHUpLT5mdW5jKSAgICBcCiAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29m dG5pY19kZWZhdWx0LmM6OTg1OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVD S19BTkRfU0VUX05VTEzigJkKICBDSEVDS19BTkRfU0VUX05VTEwobywgdSwgdG1fb3BzX2dldCk7 CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9y dGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg3ODo2OiBlcnJvcjog4oCYc3RydWN0IGV0aF9kZXZf b3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogICAobyktPmZ1bmMg PSBOVUxMOyAgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo5ODU6Mjogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTlVMTOKAmQogIENIRUNLX0FORF9T RVRfTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6IEluIGZ1 bmN0aW9uIOKAmHBtZF9vcHNfZGVyaXZl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjg4Mjo5OiBl cnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYdG1fb3BzX2dldOKAmQogIGlmICgodSktPmZ1bmMpICAgIFwKICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRu aWNfZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNL X0FORF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNf Z2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0 bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgzOjY6IGVycm9yOiDigJhzdHJ1Y3QgZXRo X2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgIChvKS0+ ZnVuYyA9ICh1KS0+ZnVuYzsgICBcCiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzoxMTA3OjI6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhDSEVDS19BTkRfU0VUX05PTk5VTEzigJkK ICBDSEVDS19BTkRfU0VUX05PTk5VTEwobywgdSwgdG1fb3BzX2dldCk7CiAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNf ZGVmYXVsdC5jOjg4MzoxODogZXJyb3I6IOKAmGNvbnN0IHN0cnVjdCBldGhfZGV2X29wc+KAmSBo YXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29wc19nZXTigJkKICAgKG8pLT5mdW5jID0gKHUpLT5m dW5jOyAgIFwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOjExMDc6Mjog bm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTk9OTlVMTOKAmQog IENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0KTsKICBeCmNjMTogYWxsIHdh cm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdl dCAncnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnc29mdG5p YycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1r OjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZl cnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTI4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAn cHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka3Jvb3QubWs6MTA3OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFp bGVkIEJ1aWxkICMyMToKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjClBNRElORk8gcnRlX2V0aF9zb2Z0bmljLm8ucG1kLmMgIExEIHJ0ZV9ldGhfc29mdG5p Yy5vL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRl X2V0aF9zb2Z0bmljX2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1kX3RtX29wc19nZXTigJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9l dGhfc29mdG5pY19kZWZhdWx0LmM6NzU5OjIxOiBlcnJvcjog4oCYY29uc3Qgc3RydWN0IGV0aF9k ZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogIHJldHVybiBk ZXYtPmRldl9vcHMtPnRtX29wc19nZXQoZGV2LCBvcHMpOwogICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9l dGhfc29mdG5pY19kZWZhdWx0LmM6IEF0IHRvcCBsZXZlbDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4 NzM6MjogZXJyb3I6IHVua25vd24gZmllbGQg4oCYdG1fb3BzX2dldOKAmSBzcGVjaWZpZWQgaW4g aW5pdGlhbGl6ZXIKICAudG1fb3BzX2dldCA9IHBtZF90bV9vcHNfZ2V0LAogIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmlj X2RlZmF1bHQuYzo4NzM6MTY6IGVycm9yOiBleGNlc3MgZWxlbWVudHMgaW4gc3RydWN0IGluaXRp YWxpemVyIFstV2Vycm9yXQogIC50bV9vcHNfZ2V0ID0gcG1kX3RtX29wc19nZXQsCiAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0 bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODczOjE2OiBub3RlOiAobmVhciBpbml0aWFs aXphdGlvbiBmb3Ig4oCYcG1kX29wc19kZWZhdWx04oCZKQovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5jOiBJ biBmdW5jdGlvbiDigJhwbWRfb3BzX2NoZWNrX2FuZF9zZXRfbnVsbOKAmToKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2Rl ZmF1bHQuYzo4Nzc6MTA6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgaWYgKCEodSktPmZ1bmMpICAgIFwK ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3Nv ZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo5ODU6Mjogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmENIRUNLX0FORF9TRVRfTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTlVMTChv LCB1LCB0bV9vcHNfZ2V0KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODc4OjY6IGVycm9yOiDi gJhzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V0 4oCZCiAgIChvKS0+ZnVuYyA9IE5VTEw7ICAgIFwKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5j Ojk4NToyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OVUxM 4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OVUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmlj X2RlZmF1bHQuYzogSW4gZnVuY3Rpb24g4oCYcG1kX29wc19kZXJpdmXigJk6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19k ZWZhdWx0LmM6ODgyOjk6IGVycm9yOiDigJhjb25zdCBzdHJ1Y3QgZXRoX2Rldl9vcHPigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJh0bV9vcHNfZ2V04oCZCiAgaWYgKCh1KS0+ZnVuYykgICAgXAog ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0 bmljL3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYQ0hFQ0tfQU5EX1NFVF9OT05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05O VUxMKG8sIHUsIHRtX29wc19nZXQpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L3NvZnRuaWMvcnRlX2V0aF9zb2Z0bmljX2RlZmF1bHQuYzo4ODM6NjogZXJy b3I6IOKAmHN0cnVjdCBldGhfZGV2X29wc+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHRtX29w c19nZXTigJkKICAgKG8pLT5mdW5jID0gKHUpLT5mdW5jOyAgIFwKICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvc29mdG5pYy9ydGVfZXRoX3NvZnRuaWNf ZGVmYXVsdC5jOjExMDc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmENIRUNLX0FO RF9TRVRfTk9OTlVMTOKAmQogIENIRUNLX0FORF9TRVRfTk9OTlVMTChvLCB1LCB0bV9vcHNfZ2V0 KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmlj L3J0ZV9ldGhfc29mdG5pY19kZWZhdWx0LmM6ODgzOjE4OiBlcnJvcjog4oCYY29uc3Qgc3RydWN0 IGV0aF9kZXZfb3Bz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdG1fb3BzX2dldOKAmQogICAo byktPmZ1bmMgPSAodSktPmZ1bmM7ICAgXAogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9zb2Z0bmljL3J0ZV9ldGhfc29mdG5pY19k ZWZhdWx0LmM6MTEwNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYQ0hFQ0tfQU5E X1NFVF9OT05OVUxM4oCZCiAgQ0hFQ0tfQU5EX1NFVF9OT05OVUxMKG8sIHUsIHRtX29wc19nZXQp OwogIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfZXRoX3NvZnRuaWNfZGVmYXVsdC5vJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBm b3IgdGFyZ2V0ICdzb2Z0bmljJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUg Zm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0 YWxsJyBmYWlsZWQKCgpEUERLIFNUViB0ZWFtCg== --===============7690512334891529637==--