From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 715641B1BC for ; Thu, 16 Nov 2017 09:00:41 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Nov 2017 00:00:41 -0800 Message-Id: Date: 16 Nov 2017 00:00:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,402,1505804400"; d="scan'208";a="8276428" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga002.jf.intel.com with ESMTP; 16 Nov 2017 00:00:39 -0800 Content-Type: multipart/alternative; boundary="===============2937122093328914038==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: hhaim@cisco.com Subject: [dpdk-test-report] |FAILURE| pw31389 [PATCH v3] mbuf: cleanup rte_pktmbuf_lastseg() fix atomic usage Re: [PATCH] [PATCH v3] mbuf: cleanup rte_pktmbuf_lastseg() fix atomic usage Hi On Wed Nov 15 2017 at 12:46:15PM +0000 Hanoch Haim (hhaim) wrote: > +Oliver > Ilia I assume there is a reason why Oliver did that I just consolidate the code. > He didn't want to *write* the same value to mbuf field. > In the common case that pointer was already cleared by the driver it is better to just read it. From cache synchronization perspective it will run faster. > > Thanks > Hanoh > > > -----Original Message----- > 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: Thu, 16 Nov 2017 08:00:43 -0000 --===============2937122093328914038== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8zMTM4OQoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog Ikhhbm9jaCBIYWltIFwoaGhhaW1cKSIgPGhoYWltQGNpc2NvLmNvbT4KRGF0ZTogVGh1LCAxNiBO b3YgMjAxNyAwNzoxNjozMSArMDAwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLCBCcmFu Y2g6bWFzdGVyLCBDb21taXRJRDpkODRhYWQ2NTA0MDFhMTIyY2I3NWJkNTgxMWU0OWIwM2VmM2Rj NDlkCgpQYXRjaDMxMzg5LTMxMzg5IC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1hcnk6IDIx IEJ1aWxkcyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDIxIEZhaWx1cmVzCgpUZXN0IGVudmlyb25tZW50 IGFuZCBjb25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2VybmVsIFZl cnNpb246My4xMC4wLTUxNC4xMC4yLmVsNy54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhl b24oUikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykg NC44LjUgMjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtNCkKICAgIENsYW5nIFZlcnNpb246My40LjIK ICAgIGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZApPUzogVUIxNjEwXzY0CiAg ICBLZXJuZWwgVmVyc2lvbjo0LjguMC0yMi1nZW5lcmljCiAgICBDUFUgaW5mbzpJbnRlbChSKSBY ZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChVYnVu dHUgNi4yLjAtNXVidW50dTEyKSA2LjIuMCAyMDE2MTAwNQogICAgQ2xhbmcgVmVyc2lvbjpOQQog ICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKT1M6IFVCMTYwNF82NAogICAgS2VybmVsIFZl cnNpb246NC40LjAtNzgtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihSKSBDUFUg RTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1bnR1IDUuNC4wLTZ1 YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJzaW9uOjMuOC4wCiAg ICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj CiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82NC1uYXRpdmUt bGludXhhcHAtY2xhbmcKT1M6IEZDMjVfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjQuOC42LTMwMC5m YzI1Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2NCBA IDIuMjBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0NDKSA2LjMuMSAyMDE2MTIyMSAoUmVkIEhh dCA2LjMuMS0xKQogICAgQ2xhbmcgVmVyc2lvbjpOQQogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1pY2MKT1M6IEZyZWVCU0QxMC4zXzY0CiAgICBLZXJuZWwgVmVyc2lvbjoxMC4zLVJFTEVBU0UK ICAgIENQVSBpbmZvOgogICAgR0NDIFZlcnNpb246Z2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rp b24pIDQuOC41CiAgICBDbGFuZyBWZXJzaW9uOjMuNC4xCiAgICB4ODZfNjQtbmF0aXZlLWJzZGFw cC1jbGFuZwogICAgeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCk9TOiBDZW50T1M3XzY0CiAgICBL ZXJuZWwgVmVyc2lvbjozLjEwLjAtNTE0LjEwLjIuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50 ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdj YyAoR0NDKSA0LjguNSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lv bjozLjQuMgogICAgaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWNsYW5nCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCk9TOiBGQzI0XzY0CiAgICBLZXJuZWwgVmVyc2lvbjo0 LjkuMTMtMTAwLmZjMjQueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBF NS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDYuMi4xIDIwMTYw OTE2IChSZWQgSGF0IDYuMi4xLTIpCiAgICBDbGFuZyBWZXJzaW9uOjMuOC4wCiAgICB4ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1ZwogICAgaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAg ICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy1zaGFyZWQKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCk9TOiBSSEVMNy4zXzY0 CiAgICBLZXJuZWwgVmVyc2lvbjozLjEwLjAtNTE0LjE2LjEuZWw3Lng4Nl82NAogICAgQ1BVIGlu Zm86SW50ZWwoUikgWGVvbihSKSBDUFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKICAgIEdDQyBWZXJz aW9uOmdjYyAoR0NDKSA0LjguNSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS0xMSkKICAgIENsYW5n IFZlcnNpb246TkEKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjCgpGYWlsZWQgQnVpbGQg IzE6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjClNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmLmgKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1 Zl9wdHlwZS5oSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX21idWYvcnRlX21idWYuYzo1NjowOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDog SW4gZnVuY3Rpb24g4oCYcnRlX3BrdG1idWZfcHJlZnJlZV9zZWfigJk6Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1 Zi5oOjEzNzM6MTY6IGVycm9yOiDigJhyZXTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgICAgICAgICAgICAgICByZXQgPSBydGVfYXRvbWljMTZfYWRkX3JldHVy bigmbS0+cmVmY250X2F0b21pYywgLTEpOyAKICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9t YnVmLmg6MTM3MzoxNjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KCgpGYWlsZWQgQnVp bGQgIzI6Ck9TOiBSSEVMNy4yXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MK U1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21idWYuaAogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0 ZV9tYnVmX3B0eXBlLmhJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jOjU2OjA6Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9t YnVmLmg6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wa3RtYnVmX3ByZWZyZWVfc2Vn4oCZOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfbWJ1Zi5oOjEzNzM6MTY6IGVycm9yOiDigJhyZXTigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgICAgICAgICByZXQgPSBydGVfYXRvbWljMTZf YWRkX3JldHVybigmbS0+cmVmY250X2F0b21pYywgLTEpOyAKICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgoK CkZhaWxlZCBCdWlsZCAjMzoKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy1zaGFyZWQKClNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmLmgKICBTWU1M SU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zl9wdHlwZS5oSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX21idWYvcnRlX21idWYuYzo1 NjowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOiBJbiBmdW5jdGlvbiDigJhydGVfcGt0bWJ1Zl9wcmVm cmVlX3NlZ+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBlcnJvcjog4oCYcmV04oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgICAgICAgICAg cmV0ID0gcnRlX2F0b21pYzE2X2FkZF9yZXR1cm4oJm0tPnJlZmNudF9hdG9taWMsIC0xKTsgCiAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjogbm90ZTogZWFjaCB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4KCgpGYWlsZWQgQnVpbGQgIzQ6Ck9TOiBVQjE2MTBfNjQKVGFyZ2V0 OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwpTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1 Zi5oCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21idWZfcHR5cGUuaEluIGZpbGUgaW5jbHVk ZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9tYnVmL3J0 ZV9tYnVmLmMoNTYpOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1pY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oKDEzNzMpOiBlcnJvcjogaWRlbnRpZmll ciAicmV0IiBpcyB1bmRlZmluZWQKICAgICAgICAgICAgICAgICByZXQgPSBydGVfYXRvbWljMTZf YWRkX3JldHVybigmbS0+cmVmY250X2F0b21pYywgLTEpOyAKICAgICAgICAgICAgICAgICBeCmNv bXBpbGF0aW9uIGFib3J0ZWQgZm9yIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX21idWYvcnRlX21idWYuYyAoY29kZSAyKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJn ZXQgJ3J0ZV9tYnVmLm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9tYnVmJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3NjogcmVj aXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0 YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzU6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiBpNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MKU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21idWYuaAogIFNZ TUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmX3B0eXBlLmhJbiBmaWxlIGluY2x1ZGVkIGZyb20g L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5j OjU2OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFw cC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOiBJbiBmdW5jdGlvbiDigJhydGVfcGt0bWJ1Zl9wcmVm cmVlX3NlZ+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjogZXJyb3I6IOKAmHJldOKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgICAgICAgIHJl dCA9IHJ0ZV9hdG9taWMxNl9hZGRfcmV0dXJuKCZtLT5yZWZjbnRfYXRvbWljLCAtMSk7IAogICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBub3RlOiBlYWNoIHVuZGVj bGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24g aXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwv cnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ3J0ZV9tYnVmLm8nIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2Mzog cmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9tYnVmJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3NjogcmVjaXBlIGZvciB0YXJnZXQgJ2xp YicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5t azoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdw cmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWls ZWQgQnVpbGQgIzY6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYwpTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zi5oCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX21idWZfcHR5cGUuaEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmM6NTY6MDoKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX21idWYuaDogSW4gZnVuY3Rpb24g4oCYcnRlX3BrdG1idWZfcHJlZnJlZV9zZWfigJk6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjogZXJyb3I6IOKAmHJldOKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9hdG9t aWMxNl9hZGRfcmV0dXJuKCZtLT5yZWZjbnRfYXRvbWljLCAtMSk7IAogICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOjEzNzM6MTY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJz IGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGls ZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAncnRlX21idWYubycgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9y IHRhcmdldCAnbGlicnRlX21idWYnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvcnRlLnNka2J1aWxkLm1rOjc2OiByZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVj aXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxs JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1r OjEwNzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAj NzoKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJl ZAoKU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21idWYuaAogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV9tYnVmX3B0eXBlLmhJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jOjU2OjA6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9tYnVmLmg6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wa3RtYnVmX3ByZWZyZWVfc2Vn4oCZOgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5j bHVkZS9ydGVfbWJ1Zi5oOjEzNzM6MTY6IGVycm9yOiDigJhyZXTigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgICAgICAgICByZXQgPSBydGVfYXRvbWlj MTZfYWRkX3JldHVybigmbS0+cmVmY250X2F0b21pYywgLTEpOyAKICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRp ZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUt cHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ3J0ZV9tYnVmLm8nIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0 YXJnZXQgJ2xpYnJ0ZV9tYnVmJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zZGtidWlsZC5tazo3NjogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzg6 Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nClNZTUxJ TkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmLmgKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1 Zl9wdHlwZS5oSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX21idWYvcnRlX21idWYuYzo1NjoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfbWJ1Zi5o OjEzNzM6MTY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdyZXQnCiAgICAg ICAgICAgICAgIHJldCA9IHJ0ZV9hdG9taWMxNl9hZGRfcmV0dXJuKCZtLT5yZWZjbnRfYXRvbWlj LCAtMSk7IAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUvcnRlX21idWYuaDoxMzc3OjIwOiBl cnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncmV0JwogICAgICAgICAgICAgICBp ZiAocmV0ICE9IDApCiAgICAgICAgICAgICAgICAgICBeCjIgZXJyb3JzIGdlbmVyYXRlZC4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5t azoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfbWJ1Zi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdsaWJydGVfbWJ1ZicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2RrYnVpbGQubWs6NzY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUgZm9y IHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3OiBy ZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM5OgpPUzog RkMyNV82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjClNZTUxJTkstRklMRSBp bmNsdWRlL3J0ZV9tYnVmLmgKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zl9wdHlwZS5o SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX21idWYvcnRlX21idWYuYyg1Nik6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYy9pbmNsdWRlL3J0ZV9tYnVmLmgoMTM3Myk6IGVy cm9yOiBpZGVudGlmaWVyICJyZXQiIGlzIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgIHJldCA9 IHJ0ZV9hdG9taWMxNl9hZGRfcmV0dXJuKCZtLT5yZWZjbnRfYXRvbWljLCAtMSk7IAogICAgICAg ICAgICAgICAgIF4KY29tcGlsYXRpb24gYWJvcnRlZCBmb3IgL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jIChjb2RlIDIpCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiBy ZWNpcGUgZm9yIHRhcmdldCAncnRlX21idWYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbGlicnRl X21idWYnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1 aWxkLm1rOjc2OiByZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0YXJnZXQg J2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5z dGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBlIGZv ciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTA6Ck9TOiBGcmVlQlNE MTAuM182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nClNZTUxJTkstRklMRSBp bmNsdWRlL3J0ZV9tYnVmLmgKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zl9wdHlwZS5o SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX21idWYvcnRlX21idWYuYzo1NjoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L3g4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nL2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBl cnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAncmV0JwogICAgICAgICAgICAgICBy ZXQgPSBydGVfYXRvbWljMTZfYWRkX3JldHVybigmbS0+cmVmY250X2F0b21pYywgLTEpOyAKICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2 ZS1ic2RhcHAtY2xhbmcvaW5jbHVkZS9ydGVfbWJ1Zi5oOjEzNzc6MjA6IGVycm9yOiB1c2Ugb2Yg dW5kZWNsYXJlZCBpZGVudGlmaWVyICdyZXQnCiAgICAgICAgICAgICAgIGlmIChyZXQgIT0gMCkK ICAgICAgICAgICAgICAgICAgIF4KMiBlcnJvcnMgZ2VuZXJhdGVkLgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBl IGZvciB0YXJnZXQgJ3J0ZV9tYnVmLm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9tYnVm JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5t azo3NjogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwu bWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFy Z2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzExOgpPUzogRnJlZUJTRDEwLjNf NjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MKU1lNTElOSy1GSUxFIGluY2x1ZGUv cnRlX21idWYuaAogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmX3B0eXBlLmhJbiBmaWxl IGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf bWJ1Zi9ydGVfbWJ1Zi5jOjU2OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZf NjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOiBJbiBmdW5jdGlvbiAncnRl X3BrdG1idWZfcHJlZnJlZV9zZWcnOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2 XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBlcnJvcjog J3JldCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgICAg ICAgICByZXQgPSBydGVfYXRvbWljMTZfYWRkX3JldHVybigmbS0+cmVmY250X2F0b21pYywgLTEp OyAKICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtYnNkYXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2lu dGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdydGVfbWJ1 Zi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfbWJ1ZicgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6NzY6IHJlY2lwZSBmb3IgdGFy Z2V0ICdsaWInIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNk a3Jvb3QubWs6MTI4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRh cmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka3Jvb3QubWs6MTA3OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVk CgoKRmFpbGVkIEJ1aWxkICMxMjoKT1M6IENlbnRPUzdfNjQKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1s aW51eGFwcC1nY2MKU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21idWYuaAogIFNZTUxJTkstRklM RSBpbmNsdWRlL3J0ZV9tYnVmX3B0eXBlLmhJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jOjU2OjA6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5j bHVkZS9ydGVfbWJ1Zi5oOiBJbiBmdW5jdGlvbiDigJhydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZ+KA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjogZXJyb3I6IOKAmHJldOKAmSB1bmRlY2xhcmVk IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9h dG9taWMxNl9hZGRfcmV0dXJuKCZtLT5yZWZjbnRfYXRvbWljLCAtMSk7IAogICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRl bnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFy cyBpbgoKCkZhaWxlZCBCdWlsZCAjMTM6Ck9TOiBDZW50T1M3XzY0ClRhcmdldDogeDg2XzY0LW5h dGl2ZS1saW51eGFwcC1jbGFuZwpTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zi5oCiAgU1lN TElOSy1GSUxFIGluY2x1ZGUvcnRlX21idWZfcHR5cGUuaEluIGZpbGUgaW5jbHVkZWQgZnJvbSAv aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmM6 NTY6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nL2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFy ZWQgaWRlbnRpZmllciAncmV0JwogICAgICAgICAgICAgICByZXQgPSBydGVfYXRvbWljMTZfYWRk X3JldHVybigmbS0+cmVmY250X2F0b21pYywgLTEpOyAKICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9pbmNs dWRlL3J0ZV9tYnVmLmg6MTM3NzoyMDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ3JldCcKICAgICAgICAgICAgICAgaWYgKHJldCAhPSAwKQogICAgICAgICAgICAgICAgICAg XgoyIGVycm9ycyBnZW5lcmF0ZWQuCgoKRmFpbGVkIEJ1aWxkICMxNDoKT1M6IENlbnRPUzdfNjQK VGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKClNZTUxJTkstRklMRSBp bmNsdWRlL3J0ZV9tYnVmLmgKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zl9wdHlwZS5o SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX21idWYvcnRlX21idWYuYzo1NjowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOiBJbiBmdW5j dGlvbiDigJhydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZ+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDox MzczOjE2OiBlcnJvcjog4oCYcmV04oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgICAgICAgICAgICAgcmV0ID0gcnRlX2F0b21pYzE2X2FkZF9yZXR1cm4oJm0t PnJlZmNudF9hdG9taWMsIC0xKTsgCiAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVm Lmg6MTM3MzoxNjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KCgpGYWlsZWQgQnVpbGQg IzE1OgpPUzogQ2VudE9TN182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjClNZ TUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmLmgKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVf bWJ1Zl9wdHlwZS5oSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9saWIvbGlicnRlX21idWYvcnRlX21idWYuYzo1NjowOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1 Zi5oOiBJbiBmdW5jdGlvbiDigJhydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZ+KAmToKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX21idWYuaDoxMzczOjE2OiBlcnJvcjog4oCYcmV04oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgICAgICAgICAgcmV0ID0gcnRlX2F0b21pYzE2X2Fk ZF9yZXR1cm4oJm0tPnJlZmNudF9hdG9taWMsIC0xKTsgCiAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KCgpG YWlsZWQgQnVpbGQgIzE2OgpPUzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLWRlYnVnCgpTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zi5oCiAgU1lNTElOSy1G SUxFIGluY2x1ZGUvcnRlX21idWZfcHR5cGUuaEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmM6NTY6MDoK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2luY2x1ZGUvcnRlX21idWYuaDogSW4gZnVuY3Rpb24g4oCYcnRlX3BrdG1idWZfcHJlZnJlZV9z ZWfigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjogZXJyb3I6IOKAmHJldOKAmSB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAgICAgICAgICAgIHJldCA9 IHJ0ZV9hdG9taWMxNl9hZGRfcmV0dXJuKCZtLT5yZWZjbnRfYXRvbWljLCAtMSk7CiAgICAgICAg ICAgICAgICBefn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDoxMzczOjE2OiBub3RlOiBlYWNoIHVuZGVj bGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24g aXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwv cnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ3J0ZV9tYnVmLm8nIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2Mzog cmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9tYnVmJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3NjogcmVjaXBlIGZvciB0YXJnZXQgJ2xp YicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5t azoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdw cmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWls ZWQgQnVpbGQgIzE3OgpPUzogRkMyNF82NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdj YwpTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zi5oCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUv cnRlX21idWZfcHR5cGUuaEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9tYnVmL3J0ZV9tYnVmLmM6NTY6MDoKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9t YnVmLmg6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wa3RtYnVmX3ByZWZyZWVfc2Vn4oCZOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX21idWYuaDoxMzczOjE2OiBlcnJvcjog4oCYcmV04oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgICAgICAgICAgcmV0ID0gcnRlX2F0b21pYzE2X2Fk ZF9yZXR1cm4oJm0tPnJlZmNudF9hdG9taWMsIC0xKTsKICAgICAgICAgICAgICAgIF5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX21idWYuaDoxMzczOjE2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBp cyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1r OjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ3J0ZV9tYnVmLm8nIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQg J2xpYnJ0ZV9tYnVmJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtidWlsZC5tazo3NjogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE4OgpPUzog RkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKU1lNTElOSy1GSUxF IGluY2x1ZGUvcnRlX21idWYuaAogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmX3B0eXBl LmhJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xp Yi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jOjU2OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9tYnVmLmg6MTM3Mzox NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3JldCcKICAgICAgICAgICAg ICAgcmV0ID0gcnRlX2F0b21pYzE2X2FkZF9yZXR1cm4oJm0tPnJlZmNudF9hdG9taWMsIC0xKTsg CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfbWJ1Zi5oOjEzNzc6MjA6IGVycm9yOiB1 c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdyZXQnCiAgICAgICAgICAgICAgIGlmIChyZXQg IT0gMCkKICAgICAgICAgICAgICAgICAgIF4KMiBlcnJvcnMgZ2VuZXJhdGVkLgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODog cmVjaXBlIGZvciB0YXJnZXQgJ3J0ZV9tYnVmLm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0 ZV9tYnVmJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGti dWlsZC5tazo3NjogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2lu c3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBm b3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE5OgpPUzogRkMyNF82 NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKU1lNTElOSy1GSUxF IGluY2x1ZGUvcnRlX21idWYuaAogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tYnVmX3B0eXBl LmhJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xp Yi9saWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jOjU2OjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6IEluIGZ1 bmN0aW9uIOKAmHJ0ZV9wa3RtYnVmX3ByZWZyZWVfc2Vn4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5o OjEzNzM6MTY6IGVycm9yOiDigJhyZXTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgICAgICAgICAgICAgICByZXQgPSBydGVfYXRvbWljMTZfYWRkX3JldHVybigm bS0+cmVmY250X2F0b21pYywgLTEpOwogICAgICAgICAgICAgICAgXn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9t YnVmLmg6MTM3MzoxNjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0 ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdydGVfbWJ1Zi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVf bWJ1ZicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVp bGQubWs6NzY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUgZm9yIHRhcmdldCAn YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0 YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3OiByZWNpcGUgZm9y IHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMyMDoKT1M6IEZDMjRfNjQK VGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpTWU1MSU5LLUZJTEUgaW5jbHVkZS9y dGVfbWJ1Zi5oCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX21idWZfcHR5cGUuaEluIGZpbGUg aW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9t YnVmL3J0ZV9tYnVmLmM6NTY6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDogSW4gZnVuY3Rpb24g4oCY cnRlX3BrdG1idWZfcHJlZnJlZV9zZWfigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MTM3MzoxNjog ZXJyb3I6IOKAmHJldOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9hdG9taWMxNl9hZGRfcmV0dXJuKCZtLT5yZWZjbnRf YXRvbWljLCAtMSk7CiAgICAgICAgICAgICAgICBefn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDoxMzcz OjE2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9u Y2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0 YXJnZXQgJ3J0ZV9tYnVmLm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9tYnVmJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3Njog cmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp bnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzIxOgpPUzogUkhFTDcuM182NApUYXJnZXQ6 IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjClNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9tYnVm LmgKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfbWJ1Zl9wdHlwZS5oSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX21idWYvcnRl X21idWYuYyg1Nik6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWljYy9pbmNsdWRlL3J0ZV9tYnVmLmgoMTM3Myk6IGVycm9yOiBpZGVudGlmaWVy ICJyZXQiIGlzIHVuZGVmaW5lZAogICAgICAgICAgICAgICAgIHJldCA9IHJ0ZV9hdG9taWMxNl9h ZGRfcmV0dXJuKCZtLT5yZWZjbnRfYXRvbWljLCAtMSk7IAogICAgICAgICAgICAgICAgIF4KY29t cGlsYXRpb24gYWJvcnRlZCBmb3IgL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9s aWJydGVfbWJ1Zi9ydGVfbWJ1Zi5jIChjb2RlIDIpCgoKRFBESyBTVFYgdGVhbQo= --===============2937122093328914038==--