From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: From: Bastian Stender Date: Mon, 29 Jan 2018 16:40:15 +0100 Message-Id: <20180129154016.14890-4-bst@pengutronix.de> In-Reply-To: <20180129154016.14890-1-bst@pengutronix.de> References: <20180129154016.14890-1-bst@pengutronix.de> Subject: [ptxdist] [PATCH 4/5] python3-pyyaml: new package List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: Bastian Stender U2lnbmVkLW9mZi1ieTogQmFzdGlhbiBTdGVuZGVyIDxic3RAcGVuZ3V0cm9uaXguZGU+Ci0tLQog Li4ubW92ZS1vdmVyY29tcGxpY2F0ZWQtc2V0dXAtcmVzdWx0aW5nLWluLXcucGF0Y2ggfCAzMjQg KysrKysrKysrKysrKysrKysrKysrCiBwYXRjaGVzL3B5eWFtbC0zLjEyL3NlcmllcyAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgNCArCiBydWxlcy9weXRob24zLXB5eWFtbC5pbiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMCArCiBydWxlcy9weXRob24zLXB5eWFtbC5tYWtlICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICA1NCArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDM5MiBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9weXlhbWwtMy4xMi8wMDAx LXNldHVwLnB5LXJlbW92ZS1vdmVyY29tcGxpY2F0ZWQtc2V0dXAtcmVzdWx0aW5nLWluLXcucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL3B5eWFtbC0zLjEyL3NlcmllcwogY3JlYXRl IG1vZGUgMTAwNjQ0IHJ1bGVzL3B5dGhvbjMtcHl5YW1sLmluCiBjcmVhdGUgbW9kZSAxMDA2NDQg cnVsZXMvcHl0aG9uMy1weXlhbWwubWFrZQoKZGlmZiAtLWdpdCBhL3BhdGNoZXMvcHl5YW1sLTMu MTIvMDAwMS1zZXR1cC5weS1yZW1vdmUtb3ZlcmNvbXBsaWNhdGVkLXNldHVwLXJlc3VsdGluZy1p bi13LnBhdGNoIGIvcGF0Y2hlcy9weXlhbWwtMy4xMi8wMDAxLXNldHVwLnB5LXJlbW92ZS1vdmVy Y29tcGxpY2F0ZWQtc2V0dXAtcmVzdWx0aW5nLWluLXcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi5hZjk2MTk5YWIKLS0tIC9kZXYvbnVsbAorKysgYi9wYXRjaGVz L3B5eWFtbC0zLjEyLzAwMDEtc2V0dXAucHktcmVtb3ZlLW92ZXJjb21wbGljYXRlZC1zZXR1cC1y ZXN1bHRpbmctaW4tdy5wYXRjaApAQCAtMCwwICsxLDMyNCBAQAorRnJvbTogQmFzdGlhbiBTdGVu ZGVyIDxic3RAcGVuZ3V0cm9uaXguZGU+CitEYXRlOiBNb24sIDI5IEphbiAyMDE4IDE2OjE4OjM4 ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OiByZW1vdmUgb3ZlcmNvbXBsaWNhdGVk IHNldHVwIHJlc3VsdGluZyBpbiB3cm9uZworIHBhdGhzCisKK0FsbCB0aGVzZSBjaGVja3MgYXJl IHVubmVjZXNzYXJ5IHdpdGggcHR4ZGlzdC4gVGhlc2UgY2hlY2tzIG1ha2UKK3dyb25nIGFzc3Vt cHRpb25zIGFib3V0IGluc3RhbGwgcGF0aHMgcmVzdWx0aW5nIGluIGFic29sdXRlIHBhdGhzCitj b25jYXRlbmF0ZWQgdG8gRGlzdHJvS2l0L3BsYXRmb3JtLXFlbXUvcGFja2FnZXMvcHl5YW1sLTMu MTIvLgorCitTaWduZWQtb2ZmLWJ5OiBCYXN0aWFuIFN0ZW5kZXIgPGJzdEBwZW5ndXRyb25peC5k ZT4KKy0tLQorIHNldHVwLnB5IHwgMjkwICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNl cnRpb25zKCspLCAyODAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3Nl dHVwLnB5CitpbmRleCA5ZGM1ZThkNDg1NWEuLmQ2NWI1YTdiNDZjMiAxMDA2NDQKKy0tLSBhL3Nl dHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTM1LDI4MSArMzUsMTEgQEAgQ0xBU1NJRklFUlMg PSBbCisgICAgICJUb3BpYyA6OiBUZXh0IFByb2Nlc3NpbmcgOjogTWFya3VwIiwKKyBdCisgCisr ZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAKKytmcm9tIGRpc3R1dGlscy5leHRlbnNp b24gaW1wb3J0IEV4dGVuc2lvbgorK2Zyb20gQ3l0aG9uLkRpc3R1dGlscyBpbXBvcnQgYnVpbGRf ZXh0CisgCistTElCWUFNTF9DSEVDSyA9ICIiIgorLSNpbmNsdWRlIDx5YW1sLmg+CistCistaW50 IG1haW4odm9pZCkgeworLSAgICB5YW1sX3BhcnNlcl90IHBhcnNlcjsKKy0gICAgeWFtbF9lbWl0 dGVyX3QgZW1pdHRlcjsKKy0KKy0gICAgeWFtbF9wYXJzZXJfaW5pdGlhbGl6ZSgmcGFyc2VyKTsK Ky0gICAgeWFtbF9wYXJzZXJfZGVsZXRlKCZwYXJzZXIpOworLQorLSAgICB5YW1sX2VtaXR0ZXJf aW5pdGlhbGl6ZSgmZW1pdHRlcik7CistICAgIHlhbWxfZW1pdHRlcl9kZWxldGUoJmVtaXR0ZXIp OworLQorLSAgICByZXR1cm4gMDsKKy19CistIiIiCistCistCistaW1wb3J0IHN5cywgb3MucGF0 aCwgcGxhdGZvcm0KKy0KKy1mcm9tIGRpc3R1dGlscyBpbXBvcnQgbG9nCistZnJvbSBkaXN0dXRp bHMuY29yZSBpbXBvcnQgc2V0dXAsIENvbW1hbmQKKy1mcm9tIGRpc3R1dGlscy5jb3JlIGltcG9y dCBEaXN0cmlidXRpb24gYXMgX0Rpc3RyaWJ1dGlvbgorLWZyb20gZGlzdHV0aWxzLmNvcmUgaW1w b3J0IEV4dGVuc2lvbiBhcyBfRXh0ZW5zaW9uCistZnJvbSBkaXN0dXRpbHMuZGlyX3V0aWwgaW1w b3J0IG1rcGF0aAorLWZyb20gZGlzdHV0aWxzLmNvbW1hbmQuYnVpbGRfZXh0IGltcG9ydCBidWls ZF9leHQgYXMgX2J1aWxkX2V4dAorLWZyb20gZGlzdHV0aWxzLmNvbW1hbmQuYmRpc3RfcnBtIGlt cG9ydCBiZGlzdF9ycG0gYXMgX2JkaXN0X3JwbQorLWZyb20gZGlzdHV0aWxzLmVycm9ycyBpbXBv cnQgRGlzdHV0aWxzRXJyb3IsIENvbXBpbGVFcnJvciwgTGlua0Vycm9yLCBEaXN0dXRpbHNQbGF0 Zm9ybUVycm9yCistCistaWYgJ3NldHVwdG9vbHMuZXh0ZW5zaW9uJyBpbiBzeXMubW9kdWxlczoK Ky0gICAgX0V4dGVuc2lvbiA9IHN5cy5tb2R1bGVzWydzZXR1cHRvb2xzLmV4dGVuc2lvbiddLl9F eHRlbnNpb24KKy0gICAgc3lzLm1vZHVsZXNbJ2Rpc3R1dGlscy5jb3JlJ10uRXh0ZW5zaW9uID0g X0V4dGVuc2lvbgorLSAgICBzeXMubW9kdWxlc1snZGlzdHV0aWxzLmV4dGVuc2lvbiddLkV4dGVu c2lvbiA9IF9FeHRlbnNpb24KKy0gICAgc3lzLm1vZHVsZXNbJ2Rpc3R1dGlscy5jb21tYW5kLmJ1 aWxkX2V4dCddLkV4dGVuc2lvbiA9IF9FeHRlbnNpb24KKy0KKy13aXRoX2N5dGhvbiA9IEZhbHNl CistdHJ5OgorLSAgICBmcm9tIEN5dGhvbi5EaXN0dXRpbHMuZXh0ZW5zaW9uIGltcG9ydCBFeHRl bnNpb24gYXMgX0V4dGVuc2lvbgorLSAgICBmcm9tIEN5dGhvbi5EaXN0dXRpbHMgaW1wb3J0IGJ1 aWxkX2V4dCBhcyBfYnVpbGRfZXh0CistICAgIHdpdGhfY3l0aG9uID0gVHJ1ZQorLWV4Y2VwdCBJ bXBvcnRFcnJvcjoKKy0gICAgcGFzcworLQorLXRyeToKKy0gICAgZnJvbSB3aGVlbC5iZGlzdF93 aGVlbCBpbXBvcnQgYmRpc3Rfd2hlZWwKKy1leGNlcHQgSW1wb3J0RXJyb3I6CistICAgIGJkaXN0 X3doZWVsID0gTm9uZQorLQorLQorLWNsYXNzIERpc3RyaWJ1dGlvbihfRGlzdHJpYnV0aW9uKToK Ky0KKy0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGF0dHJzPU5vbmUpOgorLSAgICAgICAgX0Rpc3Ry aWJ1dGlvbi5fX2luaXRfXyhzZWxmLCBhdHRycykKKy0gICAgICAgIGlmIG5vdCBzZWxmLmV4dF9t b2R1bGVzOgorLSAgICAgICAgICAgIHJldHVybgorLSAgICAgICAgZm9yIGlkeCBpbiByYW5nZShs ZW4oc2VsZi5leHRfbW9kdWxlcyktMSwgLTEsIC0xKToKKy0gICAgICAgICAgICBleHQgPSBzZWxm LmV4dF9tb2R1bGVzW2lkeF0KKy0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShleHQsIEV4 dGVuc2lvbik6CistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgc2V0YXR0 cihzZWxmLCBleHQuYXR0cl9uYW1lLCBOb25lKQorLSAgICAgICAgICAgIHNlbGYuZ2xvYmFsX29w dGlvbnMgPSBbCistICAgICAgICAgICAgICAgICAgICAoZXh0Lm9wdGlvbl9uYW1lLCBOb25lLAor LSAgICAgICAgICAgICAgICAgICAgICAgICJpbmNsdWRlICVzIChkZWZhdWx0IGlmICVzIGlzIGF2 YWlsYWJsZSkiCistICAgICAgICAgICAgICAgICAgICAgICAgJSAoZXh0LmZlYXR1cmVfZGVzY3Jp cHRpb24sIGV4dC5mZWF0dXJlX25hbWUpKSwKKy0gICAgICAgICAgICAgICAgICAgIChleHQubmVn X29wdGlvbl9uYW1lLCBOb25lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICJleGNsdWRlICVz IiAlIGV4dC5mZWF0dXJlX2Rlc2NyaXB0aW9uKSwKKy0gICAgICAgICAgICBdICsgc2VsZi5nbG9i YWxfb3B0aW9ucworLSAgICAgICAgICAgIHNlbGYubmVnYXRpdmVfb3B0ID0gc2VsZi5uZWdhdGl2 ZV9vcHQuY29weSgpCistICAgICAgICAgICAgc2VsZi5uZWdhdGl2ZV9vcHRbZXh0Lm5lZ19vcHRp b25fbmFtZV0gPSBleHQub3B0aW9uX25hbWUKKy0KKy0gICAgZGVmIGhhc19leHRfbW9kdWxlcyhz ZWxmKToKKy0gICAgICAgIGlmIG5vdCBzZWxmLmV4dF9tb2R1bGVzOgorLSAgICAgICAgICAgIHJl dHVybiBGYWxzZQorLSAgICAgICAgZm9yIGV4dCBpbiBzZWxmLmV4dF9tb2R1bGVzOgorLSAgICAg ICAgICAgIHdpdGhfZXh0ID0gc2VsZi5leHRfc3RhdHVzKGV4dCkKKy0gICAgICAgICAgICBpZiB3 aXRoX2V4dCBpcyBOb25lIG9yIHdpdGhfZXh0OgorLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1 ZQorLSAgICAgICAgcmV0dXJuIEZhbHNlCistCistICAgIGRlZiBleHRfc3RhdHVzKHNlbGYsIGV4 dCk6CistICAgICAgICBpbXBsZW1lbnRhdGlvbiA9IHBsYXRmb3JtLnB5dGhvbl9pbXBsZW1lbnRh dGlvbigpCistICAgICAgICBpZiBpbXBsZW1lbnRhdGlvbiAhPSAnQ1B5dGhvbic6CistICAgICAg ICAgICAgcmV0dXJuIEZhbHNlCistICAgICAgICBpZiBpc2luc3RhbmNlKGV4dCwgRXh0ZW5zaW9u KToKKy0gICAgICAgICAgICB3aXRoX2V4dCA9IGdldGF0dHIoc2VsZiwgZXh0LmF0dHJfbmFtZSkK Ky0gICAgICAgICAgICByZXR1cm4gd2l0aF9leHQKKy0gICAgICAgIGVsc2U6CistICAgICAgICAg ICAgcmV0dXJuIFRydWUKKy0KKy0KKy1jbGFzcyBFeHRlbnNpb24oX0V4dGVuc2lvbik6CistCist ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBzb3VyY2VzLCBmZWF0dXJlX25hbWUsIGZlYXR1 cmVfZGVzY3JpcHRpb24sCistICAgICAgICAgICAgZmVhdHVyZV9jaGVjaywgKiprd2RzKToKKy0g ICAgICAgIGlmIG5vdCB3aXRoX2N5dGhvbjoKKy0gICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4g c291cmNlc1s6XToKKy0gICAgICAgICAgICAgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4 dChmaWxlbmFtZSkKKy0gICAgICAgICAgICAgICAgaWYgZXh0ID09ICcucHl4JzoKKy0gICAgICAg ICAgICAgICAgICAgIHNvdXJjZXMucmVtb3ZlKGZpbGVuYW1lKQorLSAgICAgICAgICAgICAgICAg ICAgc291cmNlcy5hcHBlbmQoJyVzLmMnICUgYmFzZSkKKy0gICAgICAgIF9FeHRlbnNpb24uX19p bml0X18oc2VsZiwgbmFtZSwgc291cmNlcywgKiprd2RzKQorLSAgICAgICAgc2VsZi5mZWF0dXJl X25hbWUgPSBmZWF0dXJlX25hbWUKKy0gICAgICAgIHNlbGYuZmVhdHVyZV9kZXNjcmlwdGlvbiA9 IGZlYXR1cmVfZGVzY3JpcHRpb24KKy0gICAgICAgIHNlbGYuZmVhdHVyZV9jaGVjayA9IGZlYXR1 cmVfY2hlY2sKKy0gICAgICAgIHNlbGYuYXR0cl9uYW1lID0gJ3dpdGhfJyArIGZlYXR1cmVfbmFt ZS5yZXBsYWNlKCctJywgJ18nKQorLSAgICAgICAgc2VsZi5vcHRpb25fbmFtZSA9ICd3aXRoLScg KyBmZWF0dXJlX25hbWUKKy0gICAgICAgIHNlbGYubmVnX29wdGlvbl9uYW1lID0gJ3dpdGhvdXQt JyArIGZlYXR1cmVfbmFtZQorLQorLQorLWNsYXNzIGJ1aWxkX2V4dChfYnVpbGRfZXh0KToKKy0K Ky0gICAgZGVmIHJ1bihzZWxmKToKKy0gICAgICAgIG9wdGlvbmFsID0gVHJ1ZQorLSAgICAgICAg ZGlzYWJsZWQgPSBUcnVlCistICAgICAgICBmb3IgZXh0IGluIHNlbGYuZXh0ZW5zaW9uczoKKy0g ICAgICAgICAgICB3aXRoX2V4dCA9IHNlbGYuZGlzdHJpYnV0aW9uLmV4dF9zdGF0dXMoZXh0KQor LSAgICAgICAgICAgIGlmIHdpdGhfZXh0IGlzIE5vbmU6CistICAgICAgICAgICAgICAgIGRpc2Fi bGVkID0gRmFsc2UKKy0gICAgICAgICAgICBlbGlmIHdpdGhfZXh0OgorLSAgICAgICAgICAgICAg ICBvcHRpb25hbCA9IEZhbHNlCistICAgICAgICAgICAgICAgIGRpc2FibGVkID0gRmFsc2UKKy0g ICAgICAgICAgICAgICAgYnJlYWsKKy0gICAgICAgIGlmIGRpc2FibGVkOgorLSAgICAgICAgICAg IHJldHVybgorLSAgICAgICAgdHJ5OgorLSAgICAgICAgICAgIF9idWlsZF9leHQucnVuKHNlbGYp CistICAgICAgICBleGNlcHQgRGlzdHV0aWxzUGxhdGZvcm1FcnJvcjoKKy0gICAgICAgICAgICBl eGMgPSBzeXMuZXhjX2luZm8oKVsxXQorLSAgICAgICAgICAgIGlmIG9wdGlvbmFsOgorLSAgICAg ICAgICAgICAgICBsb2cud2FybihzdHIoZXhjKSkKKy0gICAgICAgICAgICAgICAgbG9nLndhcm4o InNraXBwaW5nIGJ1aWxkX2V4dCIpCistICAgICAgICAgICAgZWxzZToKKy0gICAgICAgICAgICAg ICAgcmFpc2UKKy0KKy0gICAgZGVmIGdldF9zb3VyY2VfZmlsZXMoc2VsZik6CistICAgICAgICBz ZWxmLmNoZWNrX2V4dGVuc2lvbnNfbGlzdChzZWxmLmV4dGVuc2lvbnMpCistICAgICAgICBmaWxl bmFtZXMgPSBbXQorLSAgICAgICAgZm9yIGV4dCBpbiBzZWxmLmV4dGVuc2lvbnM6CistICAgICAg ICAgICAgaWYgd2l0aF9jeXRob246CistICAgICAgICAgICAgICAgIHNlbGYuY3l0aG9uX3NvdXJj ZXMoZXh0LnNvdXJjZXMsIGV4dCkKKy0gICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZXh0LnNv dXJjZXM6CistICAgICAgICAgICAgICAgIGZpbGVuYW1lcy5hcHBlbmQoZmlsZW5hbWUpCistICAg ICAgICAgICAgICAgIGJhc2UgPSBvcy5wYXRoLnNwbGl0ZXh0KGZpbGVuYW1lKVswXQorLSAgICAg ICAgICAgICAgICBmb3IgZXh0IGluIFsnYycsICdoJywgJ3B5eCcsICdweGQnXToKKy0gICAgICAg ICAgICAgICAgICAgIGZpbGVuYW1lID0gJyVzLiVzJyAlIChiYXNlLCBleHQpCistICAgICAgICAg ICAgICAgICAgICBpZiBmaWxlbmFtZSBub3QgaW4gZmlsZW5hbWVzIGFuZCBvcy5wYXRoLmlzZmls ZShmaWxlbmFtZSk6CistICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWVzLmFwcGVuZChm aWxlbmFtZSkKKy0gICAgICAgIHJldHVybiBmaWxlbmFtZXMKKy0KKy0gICAgZGVmIGdldF9vdXRw dXRzKHNlbGYpOgorLSAgICAgICAgc2VsZi5jaGVja19leHRlbnNpb25zX2xpc3Qoc2VsZi5leHRl bnNpb25zKQorLSAgICAgICAgb3V0cHV0cyA9IFtdCistICAgICAgICBmb3IgZXh0IGluIHNlbGYu ZXh0ZW5zaW9uczoKKy0gICAgICAgICAgICBmdWxsbmFtZSA9IHNlbGYuZ2V0X2V4dF9mdWxsbmFt ZShleHQubmFtZSkKKy0gICAgICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihzZWxmLmJ1 aWxkX2xpYiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF9l eHRfZmlsZW5hbWUoZnVsbG5hbWUpKQorLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZp bGVuYW1lKToKKy0gICAgICAgICAgICAgICAgb3V0cHV0cy5hcHBlbmQoZmlsZW5hbWUpCistICAg ICAgICByZXR1cm4gb3V0cHV0cworLQorLSAgICBkZWYgYnVpbGRfZXh0ZW5zaW9ucyhzZWxmKToK Ky0gICAgICAgIHNlbGYuY2hlY2tfZXh0ZW5zaW9uc19saXN0KHNlbGYuZXh0ZW5zaW9ucykKKy0g ICAgICAgIGZvciBleHQgaW4gc2VsZi5leHRlbnNpb25zOgorLSAgICAgICAgICAgIHdpdGhfZXh0 ID0gc2VsZi5kaXN0cmlidXRpb24uZXh0X3N0YXR1cyhleHQpCistICAgICAgICAgICAgaWYgd2l0 aF9leHQgaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgd2l0aF9leHQgPSBzZWxmLmNoZWNrX2V4 dGVuc2lvbl9hdmFpbGFiaWxpdHkoZXh0KQorLSAgICAgICAgICAgIGlmIG5vdCB3aXRoX2V4dDoK Ky0gICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICBpZiB3aXRoX2N5dGhvbjoK Ky0gICAgICAgICAgICAgICAgZXh0LnNvdXJjZXMgPSBzZWxmLmN5dGhvbl9zb3VyY2VzKGV4dC5z b3VyY2VzLCBleHQpCistICAgICAgICAgICAgc2VsZi5idWlsZF9leHRlbnNpb24oZXh0KQorLQor LSAgICBkZWYgY2hlY2tfZXh0ZW5zaW9uX2F2YWlsYWJpbGl0eShzZWxmLCBleHQpOgorLSAgICAg ICAgY2FjaGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF90ZW1wLCAnY2hlY2tfJXMub3V0JyAl IGV4dC5mZWF0dXJlX25hbWUpCistICAgICAgICBpZiBub3Qgc2VsZi5mb3JjZSBhbmQgb3MucGF0 aC5pc2ZpbGUoY2FjaGUpOgorLSAgICAgICAgICAgIGRhdGEgPSBvcGVuKGNhY2hlKS5yZWFkKCku c3RyaXAoKQorLSAgICAgICAgICAgIGlmIGRhdGEgPT0gJzEnOgorLSAgICAgICAgICAgICAgICBy ZXR1cm4gVHJ1ZQorLSAgICAgICAgICAgIGVsaWYgZGF0YSA9PSAnMCc6CistICAgICAgICAgICAg ICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgbWtwYXRoKHNlbGYuYnVpbGRfdGVtcCkKKy0gICAg ICAgIHNyYyA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3RlbXAsICdjaGVja18lcy5jJyAlIGV4 dC5mZWF0dXJlX25hbWUpCistICAgICAgICBvcGVuKHNyYywgJ3cnKS53cml0ZShleHQuZmVhdHVy ZV9jaGVjaykKKy0gICAgICAgIGxvZy5pbmZvKCJjaGVja2luZyBpZiAlcyBpcyBjb21waWxhYmxl IiAlIGV4dC5mZWF0dXJlX25hbWUpCistICAgICAgICB0cnk6CistICAgICAgICAgICAgW29ial0g PSBzZWxmLmNvbXBpbGVyLmNvbXBpbGUoW3NyY10sCistICAgICAgICAgICAgICAgICAgICBtYWNy b3M9ZXh0LmRlZmluZV9tYWNyb3MrWyh1bmRlZiwpIGZvciB1bmRlZiBpbiBleHQudW5kZWZfbWFj cm9zXSwKKy0gICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlycz1leHQuaW5jbHVkZV9kaXJz LAorLSAgICAgICAgICAgICAgICAgICAgZXh0cmFfcG9zdGFyZ3M9KGV4dC5leHRyYV9jb21waWxl X2FyZ3Mgb3IgW10pLAorLSAgICAgICAgICAgICAgICAgICAgZGVwZW5kcz1leHQuZGVwZW5kcykK Ky0gICAgICAgIGV4Y2VwdCBDb21waWxlRXJyb3I6CistICAgICAgICAgICAgbG9nLndhcm4oIiIp CistICAgICAgICAgICAgbG9nLndhcm4oIiVzIGlzIG5vdCBmb3VuZCBvciBhIGNvbXBpbGVyIGVy cm9yOiBmb3JjaW5nIC0tJXMiCistICAgICAgICAgICAgICAgICAgICAgJSAoZXh0LmZlYXR1cmVf bmFtZSwgZXh0Lm5lZ19vcHRpb25fbmFtZSkpCistICAgICAgICAgICAgbG9nLndhcm4oIihpZiAl cyBpcyBpbnN0YWxsZWQgY29ycmVjdGx5LCB5b3UgbWF5IG5lZWQgdG8iCistICAgICAgICAgICAg ICAgICAgICAlIGV4dC5mZWF0dXJlX25hbWUpCistICAgICAgICAgICAgbG9nLndhcm4oIiBzcGVj aWZ5IHRoZSBvcHRpb24gLS1pbmNsdWRlLWRpcnMgb3IgdW5jb21tZW50IGFuZCIpCistICAgICAg ICAgICAgbG9nLndhcm4oIiBtb2RpZnkgdGhlIHBhcmFtZXRlciBpbmNsdWRlX2RpcnMgaW4gc2V0 dXAuY2ZnKSIpCistICAgICAgICAgICAgb3BlbihjYWNoZSwgJ3cnKS53cml0ZSgnMFxuJykKKy0g ICAgICAgICAgICByZXR1cm4gRmFsc2UKKy0gICAgICAgIHByb2cgPSAnY2hlY2tfJXMnICUgZXh0 LmZlYXR1cmVfbmFtZQorLSAgICAgICAgbG9nLmluZm8oImNoZWNraW5nIGlmICVzIGlzIGxpbmth YmxlIiAlIGV4dC5mZWF0dXJlX25hbWUpCistICAgICAgICB0cnk6CistICAgICAgICAgICAgc2Vs Zi5jb21waWxlci5saW5rX2V4ZWN1dGFibGUoW29ial0sIHByb2csCistICAgICAgICAgICAgICAg ICAgICBvdXRwdXRfZGlyPXNlbGYuYnVpbGRfdGVtcCwKKy0gICAgICAgICAgICAgICAgICAgIGxp YnJhcmllcz1leHQubGlicmFyaWVzLAorLSAgICAgICAgICAgICAgICAgICAgbGlicmFyeV9kaXJz PWV4dC5saWJyYXJ5X2RpcnMsCistICAgICAgICAgICAgICAgICAgICBydW50aW1lX2xpYnJhcnlf ZGlycz1leHQucnVudGltZV9saWJyYXJ5X2RpcnMsCistICAgICAgICAgICAgICAgICAgICBleHRy YV9wb3N0YXJncz0oZXh0LmV4dHJhX2xpbmtfYXJncyBvciBbXSkpCistICAgICAgICBleGNlcHQg TGlua0Vycm9yOgorLSAgICAgICAgICAgIGxvZy53YXJuKCIiKQorLSAgICAgICAgICAgIGxvZy53 YXJuKCIlcyBpcyBub3QgZm91bmQgb3IgYSBsaW5rZXIgZXJyb3I6IGZvcmNpbmcgLS0lcyIKKy0g ICAgICAgICAgICAgICAgICAgICAlIChleHQuZmVhdHVyZV9uYW1lLCBleHQubmVnX29wdGlvbl9u YW1lKSkKKy0gICAgICAgICAgICBsb2cud2FybigiKGlmICVzIGlzIGluc3RhbGxlZCBjb3JyZWN0 bHksIHlvdSBtYXkgbmVlZCB0byIKKy0gICAgICAgICAgICAgICAgICAgICUgZXh0LmZlYXR1cmVf bmFtZSkKKy0gICAgICAgICAgICBsb2cud2FybigiIHNwZWNpZnkgdGhlIG9wdGlvbiAtLWxpYnJh cnktZGlycyBvciB1bmNvbW1lbnQgYW5kIikKKy0gICAgICAgICAgICBsb2cud2FybigiIG1vZGlm eSB0aGUgcGFyYW1ldGVyIGxpYnJhcnlfZGlycyBpbiBzZXR1cC5jZmcpIikKKy0gICAgICAgICAg ICBvcGVuKGNhY2hlLCAndycpLndyaXRlKCcwXG4nKQorLSAgICAgICAgICAgIHJldHVybiBGYWxz ZQorLSAgICAgICAgb3BlbihjYWNoZSwgJ3cnKS53cml0ZSgnMVxuJykKKy0gICAgICAgIHJldHVy biBUcnVlCistCistCistY2xhc3MgYmRpc3RfcnBtKF9iZGlzdF9ycG0pOgorLQorLSAgICBkZWYg X21ha2Vfc3BlY19maWxlKHNlbGYpOgorLSAgICAgICAgYXJndjAgPSBzeXMuYXJndlswXQorLSAg ICAgICAgZmVhdHVyZXMgPSBbXQorLSAgICAgICAgZm9yIGV4dCBpbiBzZWxmLmRpc3RyaWJ1dGlv bi5leHRfbW9kdWxlczoKKy0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShleHQsIEV4dGVu c2lvbik6CistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAgICAgICAgd2l0aF9leHQg PSBnZXRhdHRyKHNlbGYuZGlzdHJpYnV0aW9uLCBleHQuYXR0cl9uYW1lKQorLSAgICAgICAgICAg IGlmIHdpdGhfZXh0IGlzIE5vbmU6CistICAgICAgICAgICAgICAgIGNvbnRpbnVlCistICAgICAg ICAgICAgaWYgd2l0aF9leHQ6CistICAgICAgICAgICAgICAgIGZlYXR1cmVzLmFwcGVuZCgnLS0n K2V4dC5vcHRpb25fbmFtZSkKKy0gICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBm ZWF0dXJlcy5hcHBlbmQoJy0tJytleHQubmVnX29wdGlvbl9uYW1lKQorLSAgICAgICAgc3lzLmFy Z3ZbMF0gPSAnICcuam9pbihbYXJndjBdK2ZlYXR1cmVzKQorLSAgICAgICAgc3BlY19maWxlID0g X2JkaXN0X3JwbS5fbWFrZV9zcGVjX2ZpbGUoc2VsZikKKy0gICAgICAgIHN5cy5hcmd2WzBdID0g YXJndjAKKy0gICAgICAgIHJldHVybiBzcGVjX2ZpbGUKKy0KKy0KKy1jbGFzcyB0ZXN0KENvbW1h bmQpOgorLQorLSAgICB1c2VyX29wdGlvbnMgPSBbXQorLQorLSAgICBkZWYgaW5pdGlhbGl6ZV9v cHRpb25zKHNlbGYpOgorLSAgICAgICAgcGFzcworLQorLSAgICBkZWYgZmluYWxpemVfb3B0aW9u cyhzZWxmKToKKy0gICAgICAgIHBhc3MKKy0KKy0gICAgZGVmIHJ1bihzZWxmKToKKy0gICAgICAg IGJ1aWxkX2NtZCA9IHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdidWlsZCcpCistICAgICAg ICBidWlsZF9jbWQucnVuKCkKKy0gICAgICAgIHN5cy5wYXRoLmluc2VydCgwLCBidWlsZF9jbWQu YnVpbGRfbGliKQorLSAgICAgICAgaWYgc3lzLnZlcnNpb25faW5mb1swXSA8IDM6CistICAgICAg ICAgICAgc3lzLnBhdGguaW5zZXJ0KDAsICd0ZXN0cy9saWInKQorLSAgICAgICAgZWxzZToKKy0g ICAgICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgJ3Rlc3RzL2xpYjMnKQorLSAgICAgICAgaW1w b3J0IHRlc3RfYWxsCistICAgICAgICBpZiBub3QgdGVzdF9hbGwubWFpbihbXSk6CistICAgICAg ICAgICAgcmFpc2UgRGlzdHV0aWxzRXJyb3IoIlRlc3RzIGZhaWxlZCIpCistCistCistY21kY2xh c3MgPSB7CistICAgICdidWlsZF9leHQnOiBidWlsZF9leHQsCistICAgICdiZGlzdF9ycG0nOiBi ZGlzdF9ycG0sCistICAgICd0ZXN0JzogdGVzdCwKKy19CistaWYgYmRpc3Rfd2hlZWw6CistICAg IGNtZGNsYXNzWydiZGlzdF93aGVlbCddID0gYmRpc3Rfd2hlZWwKKytpbXBvcnQgc3lzLCBvcy5w YXRoCisgCisgCisgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKK0BAIC0zMjksMTMgKzU5LDEz IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgCisgICAgICAgICBwYWNrYWdlX2Rpcj17 Jyc6IHsyOiAnbGliJywgMzogJ2xpYjMnfVtzeXMudmVyc2lvbl9pbmZvWzBdXX0sCisgICAgICAg ICBwYWNrYWdlcz1bJ3lhbWwnXSwKKy0gICAgICAgIGV4dF9tb2R1bGVzPVsKKy0gICAgICAgICAg ICBFeHRlbnNpb24oJ195YW1sJywgWydleHQvX3lhbWwucHl4J10sCistICAgICAgICAgICAgICAg ICdsaWJ5YW1sJywgIkxpYllBTUwgYmluZGluZ3MiLCBMSUJZQU1MX0NIRUNLLAorLSAgICAgICAg ICAgICAgICBsaWJyYXJpZXM9Wyd5YW1sJ10pLAorKworKyAgICAgICAgZXh0X21vZHVsZXMgPSBb CisrICAgICAgICAgICAgRXh0ZW5zaW9uKCAiX3lhbWwiLCBbImV4dC9feWFtbC5weXgiXSwgbGli cmFyaWVzID0gWyJ5YW1sIl0gKQorICAgICAgICAgXSwKKyAKKy0gICAgICAgIGRpc3RjbGFzcz1E aXN0cmlidXRpb24sCistICAgICAgICBjbWRjbGFzcz1jbWRjbGFzcywKKysgICAgICAgIGNtZGNs YXNzPXsKKysgICAgICAgICAgICAnYnVpbGRfZXh0JzogYnVpbGRfZXh0LAorKyAgICAgICAgfSwK KyAgICAgKQorIApkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9weXlhbWwtMy4xMi9zZXJpZXMgYi9wYXRj aGVzL3B5eWFtbC0zLjEyL3NlcmllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLjAzZWNkZDQ5NAotLS0gL2Rldi9udWxsCisrKyBiL3BhdGNoZXMvcHl5YW1sLTMuMTIvc2Vy aWVzCkBAIC0wLDAgKzEsNCBAQAorIyBnZW5lcmF0ZWQgYnkgZ2l0LXB0eC1wYXRjaGVzCisjdGFn OmJhc2UgLS1zdGFydC1udW1iZXIgMQorMDAwMS1zZXR1cC5weS1yZW1vdmUtb3ZlcmNvbXBsaWNh dGVkLXNldHVwLXJlc3VsdGluZy1pbi13LnBhdGNoCisjIDA4ODlmOTNkNDM2NWNiMDQ0ODUxMzgx YjI5NDc5ZTc4ICAtIGdpdC1wdHgtcGF0Y2hlcyBtYWdpYwpkaWZmIC0tZ2l0IGEvcnVsZXMvcHl0 aG9uMy1weXlhbWwuaW4gYi9ydWxlcy9weXRob24zLXB5eWFtbC5pbgpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLjkxMDM1YzUwYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bGVz L3B5dGhvbjMtcHl5YW1sLmluCkBAIC0wLDAgKzEsMTAgQEAKKyMjIFNFQ1RJT049cHl0aG9uMwor Citjb25maWcgUFlUSE9OM19QWVlBTUwKKwl0cmlzdGF0ZQorCXByb21wdCAicHl0aG9uMy1weXlh bWwiCisJc2VsZWN0IEhPU1RfQ1lUSE9OMworCXNlbGVjdCBQWVRIT04zCisJc2VsZWN0IExJQllB TUwKKwloZWxwCisJICBZQU1MIHBhcnNlciBhbmQgZW1pdHRlciBmb3IgUHl0aG9uCmRpZmYgLS1n aXQgYS9ydWxlcy9weXRob24zLXB5eWFtbC5tYWtlIGIvcnVsZXMvcHl0aG9uMy1weXlhbWwubWFr ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmNkMTk1MDk3ZgotLS0gL2Rl di9udWxsCisrKyBiL3J1bGVzL3B5dGhvbjMtcHl5YW1sLm1ha2UKQEAgLTAsMCArMSw1NCBAQAor IyAtKi1tYWtlZmlsZS0qLQorIworIyBDb3B5cmlnaHQgKEMpIDIwMTggYnkgQmFzdGlhbiBTdGVu ZGVyIDxic3RAcGVuZ3V0cm9uaXguZGU+CisjCisjIFNlZSBDUkVESVRTIGZvciBkZXRhaWxzIGFi b3V0IHdobyBoYXMgY29udHJpYnV0ZWQgdG8gdGhpcyBwcm9qZWN0LgorIworIyBGb3IgZnVydGhl ciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgUFRYZGlzdCBwcm9qZWN0IGFuZCBsaWNlbnNlIGNvbmRp dGlvbnMKKyMgc2VlIHRoZSBSRUFETUUgZmlsZS4KKyMKKworIworIyBXZSBwcm92aWRlIHRoaXMg cGFja2FnZQorIworUEFDS0FHRVMtJChQVFhDT05GX1BZVEhPTjNfUFlZQU1MKSArPSBweXRob24z LXB5eWFtbAorCisjCisjIFBhdGhzIGFuZCBuYW1lcworIworUFlUSE9OM19QWVlBTUxfVkVSU0lP Tgk6PSAzLjEyCitQWVRIT04zX1BZWUFNTF9NRDUJOj0gNWM0MWE5MWZhZTNkYTRmNTMwMmUyNWU1 ZDhmNGRlZWIKK1BZVEhPTjNfUFlZQU1MCQk6PSBweXlhbWwtJChQWVRIT04zX1BZWUFNTF9WRVJT SU9OKQorUFlUSE9OM19QWVlBTUxfU1VGRklYCTo9IHRhci5negorUFlUSE9OM19QWVlBTUxfVVJM CTo9IGh0dHBzOi8vZ2l0aHViLmNvbS95YW1sL3B5eWFtbC9hcmNoaXZlLyQoUFlUSE9OM19QWVlB TUxfVkVSU0lPTikuJChQWVRIT04zX1BZWUFNTF9TVUZGSVgpCitQWVRIT04zX1BZWUFNTF9TT1VS Q0UJOj0gJChTUkNESVIpLyQoUFlUSE9OM19QWVlBTUwpLiQoUFlUSE9OM19QWVlBTUxfU1VGRklY KQorUFlUSE9OM19QWVlBTUxfRElSCTo9ICQoQlVJTERESVIpLyQoUFlUSE9OM19QWVlBTUwpCitQ WVRIT04zX1BZWUFNTF9MSUNFTlNFCTo9IE1JVAorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMg UHJlcGFyZQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1BZVEhPTjNfUFlZQU1MX0NPTkZfVE9P TAk6PSBweXRob24zCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBUYXJnZXQtSW5zdGFsbAor IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyQoU1RBVEVESVIpL3B5dGhvbjMtcHl5YW1sLnRhcmdl dGluc3RhbGw6CisJQCQoY2FsbCB0YXJnZXRpbmZvKQorCisJQCQoY2FsbCBpbnN0YWxsX2luaXQs IHB5dGhvbjMtcHl5YW1sKQorCUAkKGNhbGwgaW5zdGFsbF9maXh1cCwgcHl0aG9uMy1weXlhbWws IFBSSU9SSVRZLCBvcHRpb25hbCkKKwlAJChjYWxsIGluc3RhbGxfZml4dXAsIHB5dGhvbjMtcHl5 YW1sLCBTRUNUSU9OLCBiYXNlKQorCUAkKGNhbGwgaW5zdGFsbF9maXh1cCwgcHl0aG9uMy1weXlh bWwsIEFVVEhPUiwgIkJhc3RpYW4gU3RlbmRlciA8YnN0QHBlbmd1dHJvbml4LmRlPiIpCisJQCQo Y2FsbCBpbnN0YWxsX2ZpeHVwLCBweXRob24zLXB5eWFtbCwgREVTQ1JJUFRJT04sIG1pc3Npbmcp CisKKwlAJChjYWxsIGluc3RhbGxfZ2xvYiwgcHl0aG9uMy1weXlhbWwsIDAsIDAsIC0sIFwKKwkJ L3Vzci9saWIvcHl0aG9uJChQWVRIT04zX01BSk9STUlOT1IpL3NpdGUtcGFja2FnZXMveWFtbCws ICoucHkpCisKKwlAJChjYWxsIGluc3RhbGxfZmluaXNoLCBweXRob24zLXB5eWFtbCkKKworCUAk KGNhbGwgdG91Y2gpCisKKyMgdmltOiBzeW50YXg9bWFrZQotLSAKMi4xNS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlzdCBtYWlsaW5nIGxp c3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQ==