From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jos de Kloe To: git-commits@fedoraproject.org Subject: [rpms/pyproj] f43: - Import upstream patch to fix problem introduced by upgrade proj to v9.7.1 Date: Sat, 26 Sep 2026 14:31:31 GMT Message-ID: <179043309169.1.9631545649343184438.rpms-pyproj-45c5abe9fc00@fedoraproject.org> List-ID: X-Git-Repo: rpms/pyproj X-Git-Branch: f43 X-Git-Rev: 45c5abe9fc008813dc171020a4bd9498af3a6212 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcHlwcm9qCiAgICAgICAgICAgIEJyYW5jaCA6IGY0MwogICAgICAgICAgICBD b21taXQgOiA0NWM1YWJlOWZjMDA4ODEzZGMxNzEwMjBhNGJkOTQ5OGFmM2E2MjEyCiAgICAgICAg ICAgIEF1dGhvciA6IEpvcyBkZSBLbG9lIDxqb3NkZWtsb2VAZ21haWwuY29tPgogICAgICAgICAg ICBEYXRlICAgOiAyMDI2LTAxLTMxVDE1OjU0OjUzKzAxOjAwCiAgICAgICAgICAgIFN0YXRzICA6 ICs3NC8tNDkzIGluIDQgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5m ZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3B5cHJvai9jLzQ1YzVhYmU5ZmMwMDg4MTNkYzE3MTAyMGE0 YmQ5NDk4YWYzYTYyMTI/YnJhbmNoPWY0MwoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICAt IEltcG9ydCB1cHN0cmVhbSBwYXRjaCB0byBmaXggcHJvYmxlbSBpbnRyb2R1Y2VkIGJ5IHVwZ3Jh ZGUgcHJvaiB0byB2OS43LjEKLSBSZW1vdmUgb2xkIHBhdGNoIGZvciBwcm9qIHY5LjYuMiB0aGF0 IGlzIG5vIGxvbmdlciBuZWVkZWQuCgotLS0KZGlmZiAtLWdpdCBhL3Byb2o5My1jeXRob24zLnBh dGNoIGIvcHJvajkzLWN5dGhvbjMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDFkNzQwNjkuLjAwMDAwMDAKLS0tIGEvcHJvajkzLWN5dGhvbjMucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw0NjggKzAsMCBAQAotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIHB5cHJvai0z LjYuMC9weXByb2ovX2RhdGFkaXIucHhkIHB5cHJvai0zLjYuMC1uZXcvcHlwcm9qL19kYXRhZGly LnB4ZAotLS0tIHB5cHJvai0zLjYuMC9weXByb2ovX2RhdGFkaXIucHhkCTIwMjMtMDYtMTIgMTU6 Mjc6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgcHlwcm9qLTMuNi4wLW5ldy9weXByb2ovX2RhdGFk aXIucHhkCTIwMjMtMDktMTMgMTI6MTM6MjEuNzgwMDkzNzcyICswMjAwCi1AQCAtMSw3ICsxLDcg QEAKLSBpbmNsdWRlICJwcm9qLnB4aSIKLSAKLS1jcGRlZiBzdHIgX2dldF9wcm9qX2Vycm9yKCkK LS1jcGRlZiB2b2lkIF9jbGVhcl9wcm9qX2Vycm9yKCkKLStjcGRlZiBzdHIgX2dldF9wcm9qX2Vy cm9yKCkgbm9leGNlcHQKLStjcGRlZiB2b2lkIF9jbGVhcl9wcm9qX2Vycm9yKCkgbm9leGNlcHQK LSBjZGVmIFBKX0NPTlRFWFQqIFBZUFJPSl9HTE9CQUxfQ09OVEVYVAotIGNkZWYgUEpfQ09OVEVY VCogcHlwcm9qX2NvbnRleHRfY3JlYXRlKCkgZXhjZXB0ICoKLSBjZGVmIHZvaWQgcHlwcm9qX2Nv bnRleHRfZGVzdHJveShQSl9DT05URVhUKiBjb250ZXh0KSBleGNlcHQgKgotZGlmZiAtcnVwTiAt LW5vLWRlcmVmZXJlbmNlIHB5cHJvai0zLjYuMC9weXByb2ovX2RhdGFkaXIucHl4IHB5cHJvai0z LjYuMC1uZXcvcHlwcm9qL19kYXRhZGlyLnB5eAotLS0tIHB5cHJvai0zLjYuMC9weXByb2ovX2Rh dGFkaXIucHl4CTIwMjMtMDYtMTIgMTU6Mjc6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgcHlwcm9q LTMuNi4wLW5ldy9weXByb2ovX2RhdGFkaXIucHl4CTIwMjMtMDktMTMgMTI6MTM6MjEuNzgxMDkz NzUzICswMjAwCi1AQCAtNiw3ICs2LDYgQEAgZnJvbSBsaWJjLnN0ZGxpYiBjaW1wb3J0IGZyZWUs IG1hbGxvYwotIAotIGZyb20gcHlwcm9qLl9jb21wYXQgY2ltcG9ydCBjc3RyZW5jb2RlCi0gCi0t ZnJvbSBweXByb2ouZXhjZXB0aW9ucyBpbXBvcnQgRGF0YURpckVycm9yCi0gZnJvbSBweXByb2ou dXRpbHMgaW1wb3J0IHN0cnRvYm9vbAotIAotICMgZm9yIGxvZ2dpbmcgdGhlIGludGVybmFsIFBS T0ogbWVzc2FnZXMKLUBAIC03OSwxNCArNzgsMTQgQEAgZGVmIGdldF91c2VyX2RhdGFfZGlyKGNy ZWF0ZT1GYWxzZSk6Ci0gICAgICkKLSAKLSAKLS1jcGRlZiBzdHIgX2dldF9wcm9qX2Vycm9yKCk6 Ci0rY3BkZWYgc3RyIF9nZXRfcHJval9lcnJvcigpIG5vZXhjZXB0OgotICAgICAiIiIKLSAgICAg R2V0IHRoZSBpbnRlcm5hbCBQUk9KIGVycm9yIG1lc3NhZ2UuIFJldHVybnMgTm9uZSBpZiBubyBl cnJvciB3YXMgc2V0LgotICAgICAiIiIKLSAgICAgcmV0dXJuIF9JTlRFUk5BTF9QUk9KX0VSUk9S Ci0gCi0gCi0tY3BkZWYgdm9pZCBfY2xlYXJfcHJval9lcnJvcigpOgotK2NwZGVmIHZvaWQgX2Ns ZWFyX3Byb2pfZXJyb3IoKSBub2V4Y2VwdDoKLSAgICAgIiIiCi0gICAgIENsZWFyIHRoZSBpbnRl cm5hbCBQUk9KIGVycm9yIG1lc3NhZ2UuCi0gICAgICIiIgotQEAgLTk0LDcgKzkzLDcgQEAgY3Bk ZWYgdm9pZCBfY2xlYXJfcHJval9lcnJvcigpOgotICAgICBfSU5URVJOQUxfUFJPSl9FUlJPUiA9 IE5vbmUKLSAKLSAKLS1jZGVmIHZvaWQgcHlwcm9qX2xvZ19mdW5jdGlvbih2b2lkICp1c2VyX2Rh dGEsIGludCBsZXZlbCwgY29uc3QgY2hhciAqZXJyb3JfbXNnKSBub2dpbDoKLStjZGVmIHZvaWQg cHlwcm9qX2xvZ19mdW5jdGlvbih2b2lkICp1c2VyX2RhdGEsIGludCBsZXZlbCwgY29uc3QgY2hh ciAqZXJyb3JfbXNnKSBub2dpbCBub2V4Y2VwdDoKLSAgICAgIiIiCi0gICAgIExvZyBmdW5jdGlv biBmb3IgY2F0Y2hpbmcgUFJPSiBlcnJvcnMuCi0gICAgICIiIgotZGlmZiAtcnVwTiAtLW5vLWRl cmVmZXJlbmNlIHB5cHJvai0zLjYuMC9weXByb2plY3QudG9tbCBweXByb2otMy42LjAtbmV3L3B5 cHJvamVjdC50b21sCi0tLS0gcHlwcm9qLTMuNi4wL3B5cHJvamVjdC50b21sCTIwMjMtMDYtMTIg MTU6Mjc6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgcHlwcm9qLTMuNi4wLW5ldy9weXByb2plY3Qu dG9tbAkyMDIzLTA5LTEzIDEyOjEzOjIxLjc4MTA5Mzc1MyArMDIwMAotQEAgLTEsNSArMSw1IEBA Ci0gW2J1aWxkLXN5c3RlbV0KLS1yZXF1aXJlcyA9IFsic2V0dXB0b29scz49NjEuMC4wIiwgIndo ZWVsIiwgImN5dGhvbj49MC4yOC40Il0KLStyZXF1aXJlcyA9IFsic2V0dXB0b29scz49NjEuMC4w IiwgIndoZWVsIiwgImN5dGhvbj49MyJdCi0gYnVpbGQtYmFja2VuZCA9ICJzZXR1cHRvb2xzLmJ1 aWxkX21ldGEiCi0gCi0gW3Byb2plY3RdCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgcHlw cm9qLTMuNi4wL3NldHVwLnB5IHB5cHJvai0zLjYuMC1uZXcvc2V0dXAucHkKLS0tLSBweXByb2ot My42LjAvc2V0dXAucHkJMjAyMy0wNi0xMiAxNToyNzozMi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBw eXByb2otMy42LjAtbmV3L3NldHVwLnB5CTIwMjMtMDktMTMgMTI6MTM6MjEuNzgwMDkzNzcyICsw MjAwCi1AQCAtNywyMCArNywzOSBAQCBpbXBvcnQgc3lzCi0gZnJvbSBwYXRobGliIGltcG9ydCBQ YXRoCi0gZnJvbSB0eXBpbmcgaW1wb3J0IE9wdGlvbmFsCi0gCi0tZnJvbSBwa2dfcmVzb3VyY2Vz IGltcG9ydCBwYXJzZV92ZXJzaW9uCi0gZnJvbSBzZXR1cHRvb2xzIGltcG9ydCBFeHRlbnNpb24s IHNldHVwCi0gCi0tUFJPSl9NSU5fVkVSU0lPTiA9IHBhcnNlX3ZlcnNpb24oIjkuMC4wIikKLStQ Uk9KX01JTl9WRVJTSU9OID0gKDksIDAsIDApCi0gQ1VSUkVOVF9GSUxFX1BBVEggPSBQYXRoKF9f ZmlsZV9fKS5hYnNvbHV0ZSgpLnBhcmVudAotIEJBU0VfSU5URVJOQUxfUFJPSl9ESVIgPSBQYXRo KCJwcm9qX2RpciIpCi0gSU5URVJOQUxfUFJPSl9ESVIgPSBDVVJSRU5UX0ZJTEVfUEFUSCAvICJw eXByb2oiIC8gQkFTRV9JTlRFUk5BTF9QUk9KX0RJUgotIFBST0pfVkVSU0lPTl9TRUFSQ0ggPSBy ZS5jb21waWxlKHIiLipSZWxcLlxzKyg/UDx2ZXJzaW9uPlxkK1wuXGQrXC5cZCspLioiKQotK1ZF UlNJT05fU0VBUkNIID0gcmUuY29tcGlsZShyIi4qKD9QPHZlcnNpb24+XGQrXC5cZCtcLlxkKyku KiIpCi0gCi0gCi0tZGVmIGdldF9wcm9qX3ZlcnNpb24ocHJval9kaXI6IFBhdGgpIC0+IHN0cjoK LStkZWYgX3BhcnNlX3ZlcnNpb24odmVyc2lvbjogc3RyKSAtPiB0dXBsZVtpbnQsIGludCwgaW50 XToKLSsgICAgIiIiQ29udmVydCBhIHZlcnNpb24gc3RyaW5nIHRvIGEgdHVwbGUgb2YgaW50ZWdl cnMuIiIiCi0rICAgIG1hdGNoID0gVkVSU0lPTl9TRUFSQ0guc2VhcmNoKHZlcnNpb24pCi0rICAg IGlmIG5vdCBtYXRjaDoKLSsgICAgICAgIHJhaXNlIFN5c3RlbUV4aXQoCi0rICAgICAgICAgICAg ZiJQUk9KIHZlcnNpb24gdW5hYmxlIHRvIGJlIGRldGVybWluZWQgZnJvbSB7dmVyc2lvbn0uICIK LSsgICAgICAgICAgICAiUGxlYXNlIHNldCB0aGUgUFJPSl9WRVJTSU9OIGVudmlyb25tZW50IHZh cmlhYmxlLiIKLSsgICAgICAgICkKLSsgICAgcmV0dXJuIHR1cGxlKAotKyAgICAgICAgaW50KHZl cikgZm9yIHZlciBpbiBtYXRjaC5ncm91cGRpY3QoKVsidmVyc2lvbiJdLnNwbGl0KCIuIiwgbWF4 c3BsaXQ9MikKLSsgICAgKQotKwotKwotK2RlZiBnZXRfcHJval92ZXJzaW9uKHByb2pfZGlyOiBQ YXRoKSAtPiB0dXBsZVtpbnQsIGludCwgaW50XToKLSsgICAgIiIiCi0rICAgIERldGVybWluZSBQ Uk9KIHZlcnNpb24uCi0rCi0rICAgIFByZWZlciBQUk9KX1ZFUlNJT04gZW52aXJvbm1lbnQgdmFy aWFibGUuCi0rICAgIElmIFBST0pfVkVSU0lPTiBpcyBub3Qgc2V0LCB0cnkgdG8gZGV0ZXJtaW5l IHRoZSB2ZXJzaW9uIGZyb20gdGhlIFBST0ogZXhlY3V0YWJsZS4KLSsgICAgIiIiCi0gICAgIHBy b2pfdmVyc2lvbiA9IG9zLmVudmlyb24uZ2V0KCJQUk9KX1ZFUlNJT04iKQotICAgICBpZiBwcm9q X3ZlcnNpb246Ci0tICAgICAgICByZXR1cm4gcHJval92ZXJzaW9uCi0rICAgICAgICByZXR1cm4g X3BhcnNlX3ZlcnNpb24ocHJval92ZXJzaW9uKQotICAgICBwcm9qID0gcHJval9kaXIgLyAiYmlu IiAvICJwcm9qIgotICAgICBwcm9qX3ZlciA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KHN0cihw cm9qKSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKS5kZWNvZGUoCi0gICAgICAgICAiYXNjaWki Ci1AQCAtMzEsMTUgKzUwLDE3IEBAIGRlZiBnZXRfcHJval92ZXJzaW9uKHByb2pfZGlyOiBQYXRo KSAtPgotICAgICAgICAgICAgICJQUk9KIHZlcnNpb24gdW5hYmxlIHRvIGJlIGRldGVybWluZWQu ICIKLSAgICAgICAgICAgICAiUGxlYXNlIHNldCB0aGUgUFJPSl9WRVJTSU9OIGVudmlyb25tZW50 IHZhcmlhYmxlLiIKLSAgICAgICAgICkKLS0gICAgcmV0dXJuIG1hdGNoLmdyb3VwZGljdCgpWyJ2 ZXJzaW9uIl0KLSsgICAgcmV0dXJuIF9wYXJzZV92ZXJzaW9uKG1hdGNoLmdyb3VwZGljdCgpWyJ2 ZXJzaW9uIl0pCi0gCi0gCi0tZGVmIGNoZWNrX3Byb2pfdmVyc2lvbihwcm9qX3ZlcnNpb246IHN0 cikgLT4gTm9uZToKLStkZWYgY2hlY2tfcHJval92ZXJzaW9uKHByb2pfdmVyc2lvbjogdHVwbGVb aW50LCBpbnQsIGludF0pIC0+IE5vbmU6Ci0gICAgICIiImNoZWNrcyB0aGF0IHRoZSBQUk9KIGxp YnJhcnkgbWVldHMgdGhlIG1pbmltdW0gdmVyc2lvbiIiIgotLSAgICBpZiBwYXJzZV92ZXJzaW9u KHByb2pfdmVyc2lvbikgPCBQUk9KX01JTl9WRVJTSU9OOgotKyAgICBpZiBwcm9qX3ZlcnNpb24g PCBQUk9KX01JTl9WRVJTSU9OOgotKyAgICAgICAgcHJval92ZXJzaW9uX3N0ciA9ICIuIi5qb2lu KHN0cih2ZXIpIGZvciB2ZXIgaW4gcHJval92ZXJzaW9uKQotKyAgICAgICAgbWluX3Byb2pfdmVy c2lvbl9zdHIgPSAiLiIuam9pbihzdHIodmVyKSBmb3IgdmVyIGluIFBST0pfTUlOX1ZFUlNJT04p Ci0gICAgICAgICByYWlzZSBTeXN0ZW1FeGl0KAotLSAgICAgICAgICAgIGYiRVJST1I6IE1pbmlt dW0gc3VwcG9ydGVkIFBST0ogdmVyc2lvbiBpcyB7UFJPSl9NSU5fVkVSU0lPTn0sIGluc3RhbGxl ZCAiCi0tICAgICAgICAgICAgZiJ2ZXJzaW9uIGlzIHtwcm9qX3ZlcnNpb259LiBGb3IgbW9yZSBp bmZvcm1hdGlvbiBzZWU6ICIKLSsgICAgICAgICAgICBmIkVSUk9SOiBNaW5pbXVtIHN1cHBvcnRl ZCBQUk9KIHZlcnNpb24gaXMge21pbl9wcm9qX3ZlcnNpb25fc3RyfSwgIgotKyAgICAgICAgICAg IGYiaW5zdGFsbGVkIHZlcnNpb24gaXMge3Byb2pfdmVyc2lvbl9zdHJ9LiBGb3IgbW9yZSBpbmZv cm1hdGlvbiBzZWU6ICIKLSAgICAgICAgICAgICAiaHR0cHM6Ly9weXByb2o0LmdpdGh1Yi5pby9w eXByb2ovc3RhYmxlL2luc3RhbGxhdGlvbi5odG1sIgotICAgICAgICAgKQotIAotQEAgLTE1NCwx MSArMTc1LDExIEBAIGRlZiBnZXRfZXh0ZW5zaW9uX21vZHVsZXMoKToKLSAgICAgIyBtYWtlIHN1 cmUgY3l0aG9uIGlzIGF2YWlsYWJsZQotICAgICB0cnk6Ci0gICAgICAgICBmcm9tIEN5dGhvbi5C dWlsZCBpbXBvcnQgY3l0aG9uaXplCi0tICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSsgICAgZXhj ZXB0IEltcG9ydEVycm9yIGFzIGVycm9yOgotICAgICAgICAgcmFpc2UgU3lzdGVtRXhpdCgKLSAg ICAgICAgICAgICAiRVJST1I6IEN5dGhvbi5CdWlsZC5jeXRob25pemUgbm90IGZvdW5kLiAiCi0g ICAgICAgICAgICAgIkN5dGhvbiBpcyByZXF1aXJlZCB0byBidWlsZCBweXByb2ouIgotLSAgICAg ICAgKQotKyAgICAgICAgKSBmcm9tIGVycm9yCi0gCi0gICAgICMgQnkgZGVmYXVsdCB3ZSdsbCB0 cnkgdG8gZ2V0IG9wdGlvbnMgUFJPSl9ESVIgb3IgdGhlIGxvY2FsIHZlcnNpb24gb2YgcHJvagot ICAgICBwcm9qX2RpciA9IGdldF9wcm9qX2RpcigpCi1AQCAtMTY3LDkgKzE4OCw3IEBAIGRlZiBn ZXRfZXh0ZW5zaW9uX21vZHVsZXMoKToKLSAKLSAgICAgcHJval92ZXJzaW9uID0gZ2V0X3Byb2pf dmVyc2lvbihwcm9qX2RpcikKLSAgICAgY2hlY2tfcHJval92ZXJzaW9uKHByb2pfdmVyc2lvbikK LS0gICAgcHJval92ZXJzaW9uX21ham9yLCBwcm9qX3ZlcnNpb25fbWlub3IsIHByb2pfdmVyc2lv bl9wYXRjaCA9IHBhcnNlX3ZlcnNpb24oCi0tICAgICAgICBwcm9qX3ZlcnNpb24KLS0gICAgKS5i YXNlX3ZlcnNpb24uc3BsaXQoIi4iKQotKyAgICBwcm9qX3ZlcnNpb25fbWFqb3IsIHByb2pfdmVy c2lvbl9taW5vciwgcHJval92ZXJzaW9uX3BhdGNoID0gcHJval92ZXJzaW9uCi0gCi0gICAgICMg c2V0dXAgZXh0ZW5zaW9uIG9wdGlvbnMKLSAgICAgZXh0X29wdGlvbnMgPSB7Ci1AQCAtMTk3LDkg KzIxNiw5IEBAIGRlZiBnZXRfZXh0ZW5zaW9uX21vZHVsZXMoKToKLSAgICAgICAgIF0sCi0gICAg ICAgICBxdWlldD1UcnVlLAotICAgICAgICAgY29tcGlsZV90aW1lX2Vudj17Ci0tICAgICAgICAg ICAgIkNURV9QUk9KX1ZFUlNJT05fTUFKT1IiOiBpbnQocHJval92ZXJzaW9uX21ham9yKSwKLS0g ICAgICAgICAgICAiQ1RFX1BST0pfVkVSU0lPTl9NSU5PUiI6IGludChwcm9qX3ZlcnNpb25fbWlu b3IpLAotLSAgICAgICAgICAgICJDVEVfUFJPSl9WRVJTSU9OX1BBVENIIjogaW50KHByb2pfdmVy c2lvbl9wYXRjaCksCi0rICAgICAgICAgICAgIkNURV9QUk9KX1ZFUlNJT05fTUFKT1IiOiBwcm9q X3ZlcnNpb25fbWFqb3IsCi0rICAgICAgICAgICAgIkNURV9QUk9KX1ZFUlNJT05fTUlOT1IiOiBw cm9qX3ZlcnNpb25fbWlub3IsCi0rICAgICAgICAgICAgIkNURV9QUk9KX1ZFUlNJT05fUEFUQ0gi OiBwcm9qX3ZlcnNpb25fcGF0Y2gsCi0gICAgICAgICAgICAgIkNURV9QWVRIT05fSU1QTEVNRU5U QVRJT04iOiBwbGF0Zm9ybS5weXRob25faW1wbGVtZW50YXRpb24oKSwKLSAgICAgICAgIH0sCi0g ICAgICAgICAqKmdldF9jeXRob25pemVfb3B0aW9ucygpLAotZGlmZiAtcnVwTiAtLW5vLWRlcmVm ZXJlbmNlIHB5cHJvai0zLjYuMC90ZXN0L2NvbmZ0ZXN0LnB5IHB5cHJvai0zLjYuMC1uZXcvdGVz dC9jb25mdGVzdC5weQotLS0tIHB5cHJvai0zLjYuMC90ZXN0L2NvbmZ0ZXN0LnB5CTIwMjMtMDYt MTIgMTU6Mjc6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgcHlwcm9qLTMuNi4wLW5ldy90ZXN0L2Nv bmZ0ZXN0LnB5CTIwMjMtMDktMTMgMTI6MTM6MjEuNzgxMDkzNzUzICswMjAwCi1AQCAtMTgsNiAr MTgsNyBAQCBQUk9KX0dURV85MSA9IFBST0pfTE9PU0VfVkVSU0lPTiA+PSB2ZXJzCi0gUFJPSl9H VEVfOTExID0gUFJPSl9MT09TRV9WRVJTSU9OID49IHZlcnNpb24ucGFyc2UoIjkuMS4xIikKLSBQ Uk9KX0dURV85MiA9IFBST0pfTE9PU0VfVkVSU0lPTiA+PSB2ZXJzaW9uLnBhcnNlKCI5LjIuMCIp Ci0gUFJPSl9HVEVfOTIxID0gUFJPSl9MT09TRV9WRVJTSU9OID49IHZlcnNpb24ucGFyc2UoIjku Mi4xIikKLStQUk9KX0dURV85MyA9IFBST0pfTE9PU0VfVkVSU0lPTiA+PSB2ZXJzaW9uLnBhcnNl KCI5LjMuMCIpCi0gCi0gCi0gZGVmIHVuc2V0X2RhdGFfZGlyKCk6Ci1kaWZmIC1ydXBOIC0tbm8t ZGVyZWZlcmVuY2UgcHlwcm9qLTMuNi4wL3Rlc3QvdGVzdF9wcm9qLnB5IHB5cHJvai0zLjYuMC1u ZXcvdGVzdC90ZXN0X3Byb2oucHkKLS0tLSBweXByb2otMy42LjAvdGVzdC90ZXN0X3Byb2oucHkJ MjAyMy0wNi0xMiAxNToyNzozMi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBweXByb2otMy42LjAtbmV3 L3Rlc3QvdGVzdF9wcm9qLnB5CTIwMjMtMDktMTMgMTI6MTM6MjEuNzgyMDkzNzMzICswMjAwCi1A QCAtNSw3ICs1LDcgQEAgaW1wb3J0IHN5cwotIGltcG9ydCB1bml0dGVzdAotIGZyb20gdW5pdHRl c3QubW9jayBpbXBvcnQgcGF0Y2gKLSAKLS1pbXBvcnQgbnVtcHkgYXMgbnAKLStpbXBvcnQgbnVt cHkKLSBpbXBvcnQgcHl0ZXN0Ci0gZnJvbSBudW1weS50ZXN0aW5nIGltcG9ydCBhc3NlcnRfYWxt b3N0X2VxdWFsCi0gCi1AQCAtNDQxLDExICs0NDEsMTEgQEAgZGVmIHRlc3RfcmVzZXRfZXJybm8o KToKLSBAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoInJhZGlhbnMiLCBbRmFsc2UsIFRydWVdKQot IGRlZiB0ZXN0X2dldF9mYWN0b3JzX18yZF9pbnB1dChyYWRpYW5zKToKLSAgICAgdHJhbnNmb3Jt ZXIgPSBQcm9qKDM4NTcpCi0tICAgIGxvbmdpdHVkZSA9IG5wLmFycmF5KFtbMCwgMV0sIFsyLCAz XV0pCi0tICAgIGxhdGl0dWRlID0gbnAuYXJyYXkoW1sxLCAyXSwgWzMsIDRdXSkKLSsgICAgbG9u Z2l0dWRlID0gbnVtcHkuYXJyYXkoW1swLCAxXSwgWzIsIDNdXSkKLSsgICAgbGF0aXR1ZGUgPSBu dW1weS5hcnJheShbWzEsIDJdLCBbMywgNF1dKQotICAgICBpZiByYWRpYW5zOgotLSAgICAgICAg bG9uZ2l0dWRlID0gbnAucmFkaWFucyhsb25naXR1ZGUpCi0tICAgICAgICBsYXRpdHVkZSA9IG5w LnJhZGlhbnMobGF0aXR1ZGUpCi0rICAgICAgICBsb25naXR1ZGUgPSBudW1weS5yYWRpYW5zKGxv bmdpdHVkZSkKLSsgICAgICAgIGxhdGl0dWRlID0gbnVtcHkucmFkaWFucyhsYXRpdHVkZSkKLSAg ICAgZmFjdG9ycyA9IHRyYW5zZm9ybWVyLmdldF9mYWN0b3JzKAotICAgICAgICAgbG9uZ2l0dWRl PWxvbmdpdHVkZSwgbGF0aXR1ZGU9bGF0aXR1ZGUsIHJhZGlhbnM9cmFkaWFucwotICAgICApCi1A QCAtNDk3LDIyICs0OTcsMzYgQEAgZGVmIHRlc3RfZ2V0X2ZhY3RvcnMoKToKLSBkZWYgdGVzdF9n ZXRfZmFjdG9yc19fbmFuX2luZigpOgotICAgICB0cmFuc2Zvcm1lciA9IFByb2ooMzg1NykKLSAg ICAgZmFjdG9ycyA9IHRyYW5zZm9ybWVyLmdldF9mYWN0b3JzKAotLSAgICAgICAgbG9uZ2l0dWRl PVswLCBucC5uYW4sIG5wLmluZiwgMF0sIGxhdGl0dWRlPVtucC5uYW4sIDIsIDIsIG5wLmluZl0K LSsgICAgICAgIGxvbmdpdHVkZT1bMCwgbnVtcHkubmFuLCBudW1weS5pbmYsIDBdLCBsYXRpdHVk ZT1bbnVtcHkubmFuLCAyLCAyLCBudW1weS5pbmZdCi0gICAgICkKLS0gICAgYXNzZXJ0X2FsbW9z dF9lcXVhbChmYWN0b3JzLm1lcmlkaW9uYWxfc2NhbGUsIFtucC5pbmYsIG5wLmluZiwgbnAuaW5m LCBucC5pbmZdKQotLSAgICBhc3NlcnRfYWxtb3N0X2VxdWFsKGZhY3RvcnMucGFyYWxsZWxfc2Nh bGUsIFtucC5pbmYsIG5wLmluZiwgbnAuaW5mLCBucC5pbmZdKQotLSAgICBhc3NlcnRfYWxtb3N0 X2VxdWFsKGZhY3RvcnMuYXJlYWxfc2NhbGUsIFtucC5pbmYsIG5wLmluZiwgbnAuaW5mLCBucC5p bmZdKQotLSAgICBhc3NlcnRfYWxtb3N0X2VxdWFsKGZhY3RvcnMuYW5ndWxhcl9kaXN0b3J0aW9u LCBbbnAuaW5mLCBucC5pbmYsIG5wLmluZiwgbnAuaW5mXSkKLS0gICAgYXNzZXJ0X2FsbW9zdF9l cXVhbCgKLS0gICAgICAgIGZhY3RvcnMubWVyaWRpYW5fcGFyYWxsZWxfYW5nbGUsIFtucC5pbmYs IG5wLmluZiwgbnAuaW5mLCBucC5pbmZdCi0tICAgICkKLS0gICAgYXNzZXJ0X2FsbW9zdF9lcXVh bChmYWN0b3JzLm1lcmlkaWFuX2NvbnZlcmdlbmNlLCBbbnAuaW5mLCBucC5pbmYsIG5wLmluZiwg bnAuaW5mXSkKLS0gICAgYXNzZXJ0X2FsbW9zdF9lcXVhbChmYWN0b3JzLnRpc3NvdF9zZW1pbWFq b3IsIFtucC5pbmYsIG5wLmluZiwgbnAuaW5mLCBucC5pbmZdKQotLSAgICBhc3NlcnRfYWxtb3N0 X2VxdWFsKGZhY3RvcnMudGlzc290X3NlbWltaW5vciwgW25wLmluZiwgbnAuaW5mLCBucC5pbmYs IG5wLmluZl0pCi0tICAgIGFzc2VydF9hbG1vc3RfZXF1YWwoZmFjdG9ycy5keF9kbGFtLCBbbnAu aW5mLCBucC5pbmYsIG5wLmluZiwgbnAuaW5mXSkKLS0gICAgYXNzZXJ0X2FsbW9zdF9lcXVhbChm YWN0b3JzLmR4X2RwaGksIFtucC5pbmYsIG5wLmluZiwgbnAuaW5mLCBucC5pbmZdKQotLSAgICBh c3NlcnRfYWxtb3N0X2VxdWFsKGZhY3RvcnMuZHlfZGxhbSwgW25wLmluZiwgbnAuaW5mLCBucC5p bmYsIG5wLmluZl0pCi0tICAgIGFzc2VydF9hbG1vc3RfZXF1YWwoZmFjdG9ycy5keV9kcGhpLCBb bnAuaW5mLCBucC5pbmYsIG5wLmluZiwgbnAuaW5mXSkKLSsgICAgYXNzZXJ0X2FsbW9zdF9lcXVh bCgKLSsgICAgICAgIGZhY3RvcnMubWVyaWRpb25hbF9zY2FsZSwgW251bXB5LmluZiwgbnVtcHku aW5mLCBudW1weS5pbmYsIG51bXB5LmluZl0KLSsgICAgKQotKyAgICBhc3NlcnRfYWxtb3N0X2Vx dWFsKAotKyAgICAgICAgZmFjdG9ycy5wYXJhbGxlbF9zY2FsZSwgW251bXB5LmluZiwgbnVtcHku aW5mLCBudW1weS5pbmYsIG51bXB5LmluZl0KLSsgICAgKQotKyAgICBhc3NlcnRfYWxtb3N0X2Vx dWFsKAotKyAgICAgICAgZmFjdG9ycy5hcmVhbF9zY2FsZSwgW251bXB5LmluZiwgbnVtcHkuaW5m LCBudW1weS5pbmYsIG51bXB5LmluZl0KLSsgICAgKQotKyAgICBhc3NlcnRfYWxtb3N0X2VxdWFs KAotKyAgICAgICAgZmFjdG9ycy5hbmd1bGFyX2Rpc3RvcnRpb24sIFtudW1weS5pbmYsIG51bXB5 LmluZiwgbnVtcHkuaW5mLCBudW1weS5pbmZdCi0rICAgICkKLSsgICAgYXNzZXJ0X2FsbW9zdF9l cXVhbCgKLSsgICAgICAgIGZhY3RvcnMubWVyaWRpYW5fcGFyYWxsZWxfYW5nbGUsIFtudW1weS5p bmYsIG51bXB5LmluZiwgbnVtcHkuaW5mLCBudW1weS5pbmZdCi0rICAgICkKLSsgICAgYXNzZXJ0 X2FsbW9zdF9lcXVhbCgKLSsgICAgICAgIGZhY3RvcnMubWVyaWRpYW5fY29udmVyZ2VuY2UsIFtu dW1weS5pbmYsIG51bXB5LmluZiwgbnVtcHkuaW5mLCBudW1weS5pbmZdCi0rICAgICkKLSsgICAg YXNzZXJ0X2FsbW9zdF9lcXVhbCgKLSsgICAgICAgIGZhY3RvcnMudGlzc290X3NlbWltYWpvciwg W251bXB5LmluZiwgbnVtcHkuaW5mLCBudW1weS5pbmYsIG51bXB5LmluZl0KLSsgICAgKQotKyAg ICBhc3NlcnRfYWxtb3N0X2VxdWFsKAotKyAgICAgICAgZmFjdG9ycy50aXNzb3Rfc2VtaW1pbm9y LCBbbnVtcHkuaW5mLCBudW1weS5pbmYsIG51bXB5LmluZiwgbnVtcHkuaW5mXQotKyAgICApCi0r ICAgIGFzc2VydF9hbG1vc3RfZXF1YWwoZmFjdG9ycy5keF9kbGFtLCBbbnVtcHkuaW5mLCBudW1w eS5pbmYsIG51bXB5LmluZiwgbnVtcHkuaW5mXSkKLSsgICAgYXNzZXJ0X2FsbW9zdF9lcXVhbChm YWN0b3JzLmR4X2RwaGksIFtudW1weS5pbmYsIG51bXB5LmluZiwgbnVtcHkuaW5mLCBudW1weS5p bmZdKQotKyAgICBhc3NlcnRfYWxtb3N0X2VxdWFsKGZhY3RvcnMuZHlfZGxhbSwgW251bXB5Lmlu ZiwgbnVtcHkuaW5mLCBudW1weS5pbmYsIG51bXB5LmluZl0pCi0rICAgIGFzc2VydF9hbG1vc3Rf ZXF1YWwoZmFjdG9ycy5keV9kcGhpLCBbbnVtcHkuaW5mLCBudW1weS5pbmYsIG51bXB5LmluZiwg bnVtcHkuaW5mXSkKLSAKLSAKLSBkZWYgdGVzdF9nZXRfZmFjdG9yc19fZXJyY2hlY2soKToKLUBA IC01MjMsNyArNTM3LDcgQEAgZGVmIHRlc3RfZ2V0X2ZhY3RvcnNfX2VycmNoZWNrKCk6Ci0gCi0g ZGVmIHRlc3RfbnVtcHlfYm9vbF9rd2FyZ19mYWxzZSgpOgotICAgICAjIElzc3VlIDU2NAotLSAg ICBzb3V0aCA9IG5wLmFycmF5KDUwKSA8IDAKLSsgICAgc291dGggPSBudW1weS5hcnJheSg1MCkg PCAwCi0gICAgIHByb2ogPSBQcm9qKAotICAgICAgICAgcHJvaj0idXRtIiwgem9uZT0zMiwgZWxs aXBzaXM9IldHUzg0IiwgZGF0dW09IldHUzg0IiwgdW5pdHM9Im0iLCBzb3V0aD1zb3V0aAotICAg ICApCi1AQCAtNTMyLDcgKzU0Niw3IEBAIGRlZiB0ZXN0X251bXB5X2Jvb2xfa3dhcmdfZmFsc2Uo KToKLSAKLSBkZWYgdGVzdF9udW1weV9ib29sX2t3YXJnX3RydWUoKToKLSAgICAgIyBJc3N1ZSA1 NjQKLS0gICAgc291dGggPSBucC5hcnJheSg1MCkgPiAwCi0rICAgIHNvdXRoID0gbnVtcHkuYXJy YXkoNTApID4gMAotICAgICBwcm9qID0gUHJvaigKLSAgICAgICAgIHByb2o9InV0bSIsIHpvbmU9 MzIsIGVsbGlwc2lzPSJXR1M4NCIsIGRhdHVtPSJXR1M4NCIsIHVuaXRzPSJtIiwgc291dGg9c291 dGgKLSAgICAgKQotZGlmZiAtcnVwTiAtLW5vLWRlcmVmZXJlbmNlIHB5cHJvai0zLjYuMC90ZXN0 L3Rlc3RfdHJhbnNmb3JtZXIucHkgcHlwcm9qLTMuNi4wLW5ldy90ZXN0L3Rlc3RfdHJhbnNmb3Jt ZXIucHkKLS0tLSBweXByb2otMy42LjAvdGVzdC90ZXN0X3RyYW5zZm9ybWVyLnB5CTIwMjMtMDYt MTIgMTU6Mjc6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgcHlwcm9qLTMuNi4wLW5ldy90ZXN0L3Rl c3RfdHJhbnNmb3JtZXIucHkJMjAyMy0wOS0xMyAxMjoxMzoyMS43ODMwOTM3MTMgKzAyMDAKLUBA IC05LDcgKzksNyBAQCBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgcGVybXV0YXRpb25zCi0gZnJvbSBw YXRobGliIGltcG9ydCBQYXRoCi0gZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBjYWxsLCBwYXRj aAotIAotLWltcG9ydCBudW1weSBhcyBucAotK2ltcG9ydCBudW1weQotIGltcG9ydCBweXRlc3QK LSBmcm9tIG51bXB5LnRlc3RpbmcgaW1wb3J0IGFzc2VydF9hbG1vc3RfZXF1YWwsIGFzc2VydF9h cnJheV9lcXVhbAotIAotQEAgLTIyLDYgKzIyLDcgQEAgZnJvbSBweXByb2oudHJhbnNmb3JtZXIg aW1wb3J0IEFyZWFPZkludAotIGZyb20gdGVzdC5jb25mdGVzdCBpbXBvcnQgKAotICAgICBQUk9K X0dURV85MSwKLSAgICAgUFJPSl9HVEVfOTIsCi0rICAgIFBST0pfR1RFXzkzLAotICAgICBncmlk c19hdmFpbGFibGUsCi0gICAgIHByb2pfZW52LAotICAgICBwcm9qX25ldHdvcmtfZW52LAotQEAg LTY0LDggKzY1LDggQEAgZGVmIHRlc3RfaWxsZWdhbF90cmFuc2Zvcm1hdGlvbigpOgotICAgICAg ICAgeHgsIHl5ID0gcHlwcm9qLnRyYW5zZm9ybSgKLSAgICAgICAgICAgICBwMSwgcDIsICgtMTgw LCAtMTgwLCAxODAsIDE4MCwgLTE4MCksICgtOTAsIDkwLCA5MCwgLTkwLCAtOTApCi0gICAgICAg ICApCi0tICAgIGFzc2VydCBucC5hbGwobnAuaXNpbmYoeHgpKQotLSAgICBhc3NlcnQgbnAuYWxs KG5wLmlzaW5mKHl5KSkKLSsgICAgYXNzZXJ0IG51bXB5LmFsbChudW1weS5pc2luZih4eCkpCi0r ICAgIGFzc2VydCBudW1weS5hbGwobnVtcHkuaXNpbmYoeXkpKQotICAgICB3aXRoIHB5dGVzdC53 YXJucyhGdXR1cmVXYXJuaW5nKSwgcHl0ZXN0LnJhaXNlcyhQcm9qRXJyb3IpOgotICAgICAgICAg cHlwcm9qLnRyYW5zZm9ybSgKLSAgICAgICAgICAgICBwMSwgcDIsICgtMTgwLCAtMTgwLCAxODAs IDE4MCwgLTE4MCksICgtOTAsIDkwLCA5MCwgLTkwLCAtOTApLCBlcnJjaGVjaz1UcnVlCi1AQCAt NDEyLDcgKzQxMyw3IEBAIGRlZiB0ZXN0X2Fsd2F5c194eV9faXRyYW5zZm9ybSgpOgotICAgICAg ICAgKQotIAotIAotLUBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiZW1wdHlfYXJyYXkiLCBbKCks IFtdLCBucC5hcnJheShbXSldKQotK0BweXRlc3QubWFyay5wYXJhbWV0cml6ZSgiZW1wdHlfYXJy YXkiLCBbKCksIFtdLCBudW1weS5hcnJheShbXSldKQotIGRlZiB0ZXN0X3RyYW5zZm9ybV9lbXB0 eV9hcnJheV94eShlbXB0eV9hcnJheSk6Ci0gICAgIHRyYW5zZm9ybWVyID0gVHJhbnNmb3JtZXIu ZnJvbV9jcnMoMjE5MywgNDMyNikKLSAgICAgYXNzZXJ0X2FycmF5X2VxdWFsKAotQEAgLTQyMCw3 ICs0MjEsNyBAQCBkZWYgdGVzdF90cmFuc2Zvcm1fZW1wdHlfYXJyYXlfeHkoZW1wdHlfCi0gICAg ICkKLSAKLSAKLS1AcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImVtcHR5X2FycmF5IiwgWygpLCBb XSwgbnAuYXJyYXkoW10pXSkKLStAcHl0ZXN0Lm1hcmsucGFyYW1ldHJpemUoImVtcHR5X2FycmF5 IiwgWygpLCBbXSwgbnVtcHkuYXJyYXkoW10pXSkKLSBkZWYgdGVzdF90cmFuc2Zvcm1fZW1wdHlf YXJyYXlfeHl6dChlbXB0eV9hcnJheSk6Ci0gICAgIHRyYW5zZm9ybWVyID0gVHJhbnNmb3JtZXIu ZnJvbV9waXBlbGluZSgiK2luaXQ9SVRSRjIwMDg6SVRSRjIwMDAiKQotICAgICBhc3NlcnRfYXJy YXlfZXF1YWwoCi1AQCAtNTQwLDcgKzU0MSw3IEBAIGRlZiB0ZXN0X3JlcHJfX2NvbmRpdGlvbmFs KCk6Ci0gICAgICAgICAgICAgIkRlc2NyaXB0aW9uOiB1bmF2YWlsYWJsZSB1bnRpbCBwcm9qX3Ry YW5zIGlzIGNhbGxlZFxuIgotICAgICAgICAgICAgICJBcmVhIG9mIFVzZTpcbi0gdW5kZWZpbmVk IgotICAgICAgICAgKQotLSAgICBlbGlmIFBST0pfR1RFXzkyOgotKyAgICBlbGlmIFBST0pfR1RF XzkyIGFuZCBub3QgUFJPSl9HVEVfOTM6Ci0gICAgICAgICBhc3NlcnQgdHJhbnNfcmVwciA9PSAo Ci0gICAgICAgICAgICAgIjxVbmtub3duIFRyYW5zZm9ybWVyOiBub29wPlxuIgotICAgICAgICAg ICAgICJEZXNjcmlwdGlvbjogVHJhbnNmb3JtYXRpb24gZnJvbSBFR00yMDA4IGhlaWdodCB0byBX R1MgODQgIgotQEAgLTU1NSw3ICs1NTYsNyBAQCBkZWYgdGVzdF9yZXByX19jb25kaXRpb25hbCgp OgotICAgICAgICAgICAgICIoYmFsbHBhcmsgdmVydGljYWwgdHJhbnNmb3JtYXRpb24sIHdpdGhv dXQgZWxsaXBzb2lkIGhlaWdodCAiCi0gICAgICAgICAgICAgInRvIHZlcnRpY2FsIGhlaWdodCBj b3JyZWN0aW9uKVxuIgotICAgICAgICAgICAgICJBcmVhIG9mIFVzZTpcbiIKLS0gICAgICAgICAg ICAiLSBuYW1lOiBXb3JsZFxuIgotKyAgICAgICAgICAgIGYiLSBuYW1lOiBXb3JsZHsnLicgaWYg UFJPSl9HVEVfOTMgZWxzZSAnJ31cbiIKLSAgICAgICAgICAgICAiLSBib3VuZHM6ICgtMTgwLjAs IC05MC4wLCAxODAuMCwgOTAuMCkiCi0gICAgICAgICApCi0gCi1AQCAtMTIwNSw3ICsxMjA2LDcg QEAgZGVmIHRlc3RfdHJhbnNmb3JtX2JvdW5kc19kZW5zaWZ5KGRlbnNpdAotICAgICAgICAgIitw cm9qPWxhZWEgK2xhdF8wPTQ1ICtsb25fMD0tMTAwICt4XzA9MCAreV8wPTAgIgotICAgICAgICAg IithPTYzNzA5OTcgK2I9NjM3MDk5NyArdW5pdHM9bSArbm9fZGVmcyIsCi0gICAgICkKLS0gICAg YXNzZXJ0IG5wLmFsbGNsb3NlKAotKyAgICBhc3NlcnQgbnVtcHkuYWxsY2xvc2UoCi0gICAgICAg ICB0cmFuc2Zvcm1lci50cmFuc2Zvcm1fYm91bmRzKDQwLCAtMTIwLCA2NCwgLTgwLCBkZW5zaWZ5 X3B0cz1kZW5zaXR5KSwKLSAgICAgICAgIGV4cGVjdGVkLAotICAgICApCi1AQCAtMTIyMiw3ICsx MjIzLDE1IEBAIGRlZiB0ZXN0X3RyYW5zZm9ybV9ib3VuZHNfZGVuc2lmeShkZW5zaXQKLSAgICAg ImlucHV0X2JvdW5kcywgcmFkaWFucyIsCi0gICAgIFsKLSAgICAgICAgICgoLTEyMCwgNDAsIC04 MCwgNjQpLCBGYWxzZSksCi0tICAgICAgICAoKG5wLnJhZGlhbnMoLTEyMCksIG5wLnJhZGlhbnMo NDApLCBucC5yYWRpYW5zKC04MCksIG5wLnJhZGlhbnMoNjQpKSwgVHJ1ZSksCi0rICAgICAgICAo Ci0rICAgICAgICAgICAgKAotKyAgICAgICAgICAgICAgICBudW1weS5yYWRpYW5zKC0xMjApLAot KyAgICAgICAgICAgICAgICBudW1weS5yYWRpYW5zKDQwKSwKLSsgICAgICAgICAgICAgICAgbnVt cHkucmFkaWFucygtODApLAotKyAgICAgICAgICAgICAgICBudW1weS5yYWRpYW5zKDY0KSwKLSsg ICAgICAgICAgICApLAotKyAgICAgICAgICAgIFRydWUsCi0rICAgICAgICApLAotICAgICBdLAot ICkKLSBkZWYgdGVzdF90cmFuc2Zvcm1fYm91bmRzX2RlbnNpZnlfX3h5KGRlbnNpdHksIGV4cGVj dGVkLCBpbnB1dF9ib3VuZHMsIHJhZGlhbnMpOgotQEAgLTEyMzIsNyArMTI0MSw3IEBAIGRlZiB0 ZXN0X3RyYW5zZm9ybV9ib3VuZHNfZGVuc2lmeV9feHkoZGUKLSAgICAgICAgICIrYT02MzcwOTk3 ICtiPTYzNzA5OTcgK3VuaXRzPW0gK25vX2RlZnMiLAotICAgICAgICAgYWx3YXlzX3h5PVRydWUs Ci0gICAgICkKLS0gICAgYXNzZXJ0IG5wLmFsbGNsb3NlKAotKyAgICBhc3NlcnQgbnVtcHkuYWxs Y2xvc2UoCi0gICAgICAgICB0cmFuc2Zvcm1lci50cmFuc2Zvcm1fYm91bmRzKAotICAgICAgICAg ICAgICppbnB1dF9ib3VuZHMsIGRlbnNpZnlfcHRzPWRlbnNpdHksIHJhZGlhbnM9cmFkaWFucwot ICAgICAgICAgKSwKLUBAIC0xNDU5LDggKzE0NjgsOCBAQCBkZWYgdGVzdF90cmFuc2Zvcm1fYm91 bmRzX19zb3V0aF9wb2xlX194Ci0gCi0gQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJpbnBsYWNl IiwgW1RydWUsIEZhbHNlXSkKLSBkZWYgdGVzdF90cmFuc2Zvcm1fX2ZvcnRyYW5fb3JkZXIoaW5w bGFjZSk6Ci0tICAgIGxvbnMsIGxhdHMgPSBucC5hcmFuZ2UoLTE4MCwgMTgwLCAyMCksIG5wLmFy YW5nZSgtOTAsIDkwLCAxMCkKLS0gICAgbGF0cywgbG9ucyA9IG5wLm1lc2hncmlkKGxhdHMsIGxv bnMpCi0rICAgIGxvbnMsIGxhdHMgPSBudW1weS5hcmFuZ2UoLTE4MCwgMTgwLCAyMCksIG51bXB5 LmFyYW5nZSgtOTAsIDkwLCAxMCkKLSsgICAgbGF0cywgbG9ucyA9IG51bXB5Lm1lc2hncmlkKGxh dHMsIGxvbnMpCi0gICAgIGZfbG9ucywgZl9sYXRzID0gbG9ucy5jb3B5KG9yZGVyPSJGIiksIGxh dHMuY29weShvcmRlcj0iRiIpCi0gICAgIHRyYW5zZm9ybWVyID0gVHJhbnNmb3JtZXIuZnJvbV9j cnMoCi0gICAgICAgICAiRVBTRzo0MzI2IiwKLUBAIC0xNTE5LDEwICsxNTI4LDEwIEBAIGRlZiB0 ZXN0XzRkX3RyYW5zZm9ybV9faW5wbGFjZV9fYXJyYXlfX2kKLSAKLSBkZWYgdGVzdF80ZF90cmFu c2Zvcm1fX2lucGxhY2VfX251bXB5KCk6Ci0gICAgIHRyYW5zZm9ybWVyID0gVHJhbnNmb3JtZXIu ZnJvbV9jcnMoNzc4OSwgODQwMSkKLS0gICAgeGFyciA9IG5wLmFycmF5KFszNDk2NzM3LjI2Nzld LCBkdHlwZT1ucC5mbG9hdDY0KQotLSAgICB5YXJyID0gbnAuYXJyYXkoWzc0MzI1NC40NTA3XSwg ZHR5cGU9bnAuZmxvYXQ2NCkKLS0gICAgemFyciA9IG5wLmFycmF5KFs1MjY0NDYyLjk2MjBdLCBk dHlwZT1ucC5mbG9hdDY0KQotLSAgICB0YXJyID0gbnAuYXJyYXkoWzIwMTkuMF0sIGR0eXBlPW5w LmZsb2F0NjQpCi0rICAgIHhhcnIgPSBudW1weS5hcnJheShbMzQ5NjczNy4yNjc5XSwgZHR5cGU9 bnVtcHkuZmxvYXQ2NCkKLSsgICAgeWFyciA9IG51bXB5LmFycmF5KFs3NDMyNTQuNDUwN10sIGR0 eXBlPW51bXB5LmZsb2F0NjQpCi0rICAgIHphcnIgPSBudW1weS5hcnJheShbNTI2NDQ2Mi45NjIw XSwgZHR5cGU9bnVtcHkuZmxvYXQ2NCkKLSsgICAgdGFyciA9IG51bXB5LmFycmF5KFsyMDE5LjBd LCBkdHlwZT1udW1weS5mbG9hdDY0KQotICAgICB0X3hhcnIsIHRfeWFyciwgdF96YXJyLCB0X3Rh cnIgPSB0cmFuc2Zvcm1lci50cmFuc2Zvcm0oCi0gICAgICAgICB4eD14YXJyLCB5eT15YXJyLCB6 ej16YXJyLCB0dD10YXJyLCBpbnBsYWNlPVRydWUKLSAgICAgKQotQEAgLTE1MzgsMTAgKzE1NDcs MTAgQEAgZGVmIHRlc3RfNGRfdHJhbnNmb3JtX19pbnBsYWNlX19udW1weSgpOgotIAotIGRlZiB0 ZXN0XzRkX3RyYW5zZm9ybV9faW5wbGFjZV9fbnVtcHlfX2ludCgpOgotICAgICB0cmFuc2Zvcm1l ciA9IFRyYW5zZm9ybWVyLmZyb21fY3JzKDc3ODksIDg0MDEpCi0tICAgIHhhcnIgPSBucC5hcnJh eShbMzQ5NjczN10sIGR0eXBlPW5wLmludDMyKQotLSAgICB5YXJyID0gbnAuYXJyYXkoWzc0MzI1 NF0sIGR0eXBlPW5wLmludDMyKQotLSAgICB6YXJyID0gbnAuYXJyYXkoWzUyNjQ0NjJdLCBkdHlw ZT1ucC5pbnQzMikKLS0gICAgdGFyciA9IG5wLmFycmF5KFsyMDE5XSwgZHR5cGU9bnAuaW50MzIp Ci0rICAgIHhhcnIgPSBudW1weS5hcnJheShbMzQ5NjczN10sIGR0eXBlPW51bXB5LmludDMyKQot KyAgICB5YXJyID0gbnVtcHkuYXJyYXkoWzc0MzI1NF0sIGR0eXBlPW51bXB5LmludDMyKQotKyAg ICB6YXJyID0gbnVtcHkuYXJyYXkoWzUyNjQ0NjJdLCBkdHlwZT1udW1weS5pbnQzMikKLSsgICAg dGFyciA9IG51bXB5LmFycmF5KFsyMDE5XSwgZHR5cGU9bnVtcHkuaW50MzIpCi0gICAgIHRfeGFy ciwgdF95YXJyLCB0X3phcnIsIHRfdGFyciA9IHRyYW5zZm9ybWVyLnRyYW5zZm9ybSgKLSAgICAg ICAgIHh4PXhhcnIsIHl5PXlhcnIsIHp6PXphcnIsIHR0PXRhcnIsIGlucGxhY2U9VHJ1ZQotICAg ICApCi1kaWZmIC1ydXBOIC0tbm8tZGVyZWZlcmVuY2UgcHlwcm9qLTMuNi4wL3Rlc3QvdGVzdF91 dGlscy5weSBweXByb2otMy42LjAtbmV3L3Rlc3QvdGVzdF91dGlscy5weQotLS0tIHB5cHJvai0z LjYuMC90ZXN0L3Rlc3RfdXRpbHMucHkJMjAyMy0wNi0xMiAxNToyNzozMi4wMDAwMDAwMDAgKzAy MDAKLSsrKyBweXByb2otMy42LjAtbmV3L3Rlc3QvdGVzdF91dGlscy5weQkyMDIzLTA5LTEzIDEy OjEzOjIxLjc4MzA5MzcxMyArMDIwMAotQEAgLTIsOCArMiw2IEBAIGZyb20gYXJyYXkgaW1wb3J0 IGFycmF5Ci0gCi0gaW1wb3J0IG51bXB5Ci0gaW1wb3J0IHB5dGVzdAotLWZyb20gcGFuZGFzIGlt cG9ydCBTZXJpZXMKLS1mcm9tIHhhcnJheSBpbXBvcnQgRGF0YUFycmF5Ci0gCi0gZnJvbSBweXBy b2oudXRpbHMgaW1wb3J0IERhdGFUeXBlLCBfY29weXRvYnVmZmVyLCBfY29weXRvYnVmZmVyX3Jl dHVybl9zY2FsYXIKLSAKLUBAIC0yMiw3ICsyMCw2IEBAIGRlZiB0ZXN0X19jb3B5dG9idWZmZXJf cmV0dXJuX3NjYWxhcl9faW4KLSAgICAgImluX2RhdGEsIGRhdGFfdHlwZSIsCi0gICAgIFsKLSAg ICAgICAgIChudW1weS5hcnJheSgxKSwgRGF0YVR5cGUuRkxPQVQpLAotLSAgICAgICAgKERhdGFB cnJheShudW1weS5hcnJheSgxKSksIERhdGFUeXBlLkZMT0FUKSwKLSAgICAgICAgICgxLCBEYXRh VHlwZS5GTE9BVCksCi0gICAgICAgICAoWzFdLCBEYXRhVHlwZS5MSVNUKSwKLSAgICAgICAgICgo MSwpLCBEYXRhVHlwZS5UVVBMRSksCi1AQCAtMzIsMTAgKzI5LDIzIEBAIGRlZiB0ZXN0X19jb3B5 dG9idWZmZXIoaW5fZGF0YSwgZGF0YV90eXAKLSAgICAgYXNzZXJ0IF9jb3B5dG9idWZmZXIoaW5f ZGF0YSkgPT0gKGFycmF5KCJkIiwgWzFdKSwgZGF0YV90eXBlKQotIAotIAotLUBweXRlc3QubWFy ay5wYXJhbWV0cml6ZSgKLS0gICAgImluX2FyciIsIFtudW1weS5hcnJheShbMV0pLCBEYXRhQXJy YXkobnVtcHkuYXJyYXkoWzFdKSksIFNlcmllcyhudW1weS5hcnJheShbMV0pKV0KLS0pCi0tZGVm IHRlc3RfX2NvcHl0b2J1ZmZlcl9fbnVtcHlfYXJyYXkoaW5fYXJyKToKLStkZWYgdGVzdF9fY29w eXRvYnVmZmVyX194YXJyYXlfc2NhbGFyKCk6Ci0rICAgIHhhcnJheSA9IHB5dGVzdC5pbXBvcnRv cnNraXAoInhhcnJheSIpCi0rICAgIGFzc2VydCBfY29weXRvYnVmZmVyKHhhcnJheS5EYXRhQXJy YXkobnVtcHkuYXJyYXkoMSkpKSA9PSAoCi0rICAgICAgICBhcnJheSgiZCIsIFsxXSksCi0rICAg ICAgICBEYXRhVHlwZS5GTE9BVCwKLSsgICAgKQotKwotKwotK0BweXRlc3QubWFyay5wYXJhbWV0 cml6ZSgiYXJyX3R5cGUiLCBbIm51bXB5IiwgInhhcnJheSIsICJwYW5kYXMiXSkKLStkZWYgdGVz dF9fY29weXRvYnVmZmVyX19hcnJheShhcnJfdHlwZSk6Ci0rICAgIGluX2FyciA9IG51bXB5LmFy cmF5KFsxXSkKLSsgICAgaWYgYXJyX3R5cGUgPT0gInhhcnJheSI6Ci0rICAgICAgICB4YXJyYXkg PSBweXRlc3QuaW1wb3J0b3Jza2lwKCJ4YXJyYXkiKQotKyAgICAgICAgaW5fYXJyID0geGFycmF5 LkRhdGFBcnJheShpbl9hcnIpCi0rICAgIGVsaWYgYXJyX3R5cGUgPT0gInBhbmRhcyI6Ci0rICAg ICAgICBwYW5kYXMgPSBweXRlc3QuaW1wb3J0b3Jza2lwKCJwYW5kYXMiKQotKyAgICAgICAgaW5f YXJyID0gcGFuZGFzLlNlcmllcyhpbl9hcnIpCi0gICAgIGFzc2VydCBfY29weXRvYnVmZmVyKGlu X2FycikgPT0gKAotICAgICAgICAgaW5fYXJyLmFzdHlwZSgiZCIpLl9fYXJyYXlfXygpLAotICAg ICAgICAgRGF0YVR5cGUuQVJSQVksCgpkaWZmIC0tZ2l0IGEvcHlwcm9qLXByb2otOS42LjIucGF0 Y2ggYi9weXByb2otcHJvai05LjYuMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggODJmOWNmNi4uMDAwMDAwMAotLS0gYS9weXByb2otcHJvai05LjYuMi5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDIwICswLDAgQEAKLS0tLSBweXByb2otMy43LjIudW5jaGFuZ2VkL3Rlc3Qv dGVzdF90cmFuc2Zvcm1lci5weQkyMDI1LTA4LTE0IDEzOjA1OjA1LjAwMDAwMDAwMCArMDIwMAot KysrIHB5cHJvai0zLjcuMi90ZXN0L3Rlc3RfdHJhbnNmb3JtZXIucHkJMjAyNS0wOS0xMiAxMToz Mzo0Ni4zMzU3NjY1NzggKzAyMDAKLUBAIC0xMjYwLDcgKzEyNjAsNyBAQCBkZWYgdGVzdF90cmFu c2Zvcm1fYm91bmRzX3JhZGlhbnNfb3V0cHV0Ci0gICAgICkKLSAKLSAKLS1kZWYgdGVzdF90cmFu c2Zvcm1fYm91bmRzX19hbnRpbWVyaWRpYW4oKToKLStkZWYgc2tpcF90ZXN0X3RyYW5zZm9ybV9i b3VuZHNfX2FudGltZXJpZGlhbigpOgotICAgICBjcnMgPSBDUlMoIkVQU0c6Mzg1MSIpCi0gICAg IHRyYW5zZm9ybWVyID0gVHJhbnNmb3JtZXIuZnJvbV9jcnMoY3JzLmdlb2RldGljX2NycywgY3Jz KQotICAgICBtaW54LCBtaW55LCBtYXh4LCBtYXh5ID0gY3JzLmFyZWFfb2ZfdXNlLmJvdW5kcwot QEAgLTEyNzgsNyArMTI3OCw3IEBAIGRlZiB0ZXN0X3RyYW5zZm9ybV9ib3VuZHNfX2FudGltZXJp ZGlhbigKLSAgICAgKQotIAotIAotLWRlZiB0ZXN0X3RyYW5zZm9ybV9ib3VuZHNfX2FudGltZXJp ZGlhbl9feHkoKToKLStkZWYgc2tpcF90ZXN0X3RyYW5zZm9ybV9ib3VuZHNfX2FudGltZXJpZGlh bl9feHkoKToKLSAgICAgY3JzID0gQ1JTKCJFUFNHOjM4NTEiKQotICAgICB0cmFuc2Zvcm1lciA9 IFRyYW5zZm9ybWVyLmZyb21fY3JzKAotICAgICAgICAgY3JzLmdlb2RldGljX2NycywKCmRpZmYg LS1naXQgYS9weXByb2otcHJvai05LjcuMS5wYXRjaCBiL3B5cHJvai1wcm9qLTkuNy4xLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNjUxMjUKLS0tIC9kZXYvbnVs bAorKysgYi9weXByb2otcHJvai05LjcuMS5wYXRjaApAQCAtMCwwICsxLDYwIEBACistLS0gcHlw cm9qLTMuNy4yLnVuY2hhbmdlZC90ZXN0L2NvbmZ0ZXN0LnB5CTIwMjUtMDgtMTQgMTM6MDU6MDUu MDAwMDAwMDAwICswMjAwCisrKysgcHlwcm9qLTMuNy4yL3Rlc3QvY29uZnRlc3QucHkJMjAyNi0w MS0zMSAxNToxNToyNS40OTY1NDI1NTAgKzAxMDAKK0BAIC0xNCw2ICsxNCw3IEBAIF9ORVRXT1JL X0VOQUJMRUQgPSBweXByb2oubmV0d29yay5pc19uZXQKKyBQUk9KX0xPT1NFX1ZFUlNJT04gPSB2 ZXJzaW9uLnBhcnNlKHB5cHJvai5fX3Byb2pfdmVyc2lvbl9fKQorIFBST0pfR1RFXzk0MSA9IFBS T0pfTE9PU0VfVkVSU0lPTiA+PSB2ZXJzaW9uLnBhcnNlKCI5LjQuMSIpCisgUFJPSl9HVEVfOTUg PSBQUk9KX0xPT1NFX1ZFUlNJT04gPj0gdmVyc2lvbi5wYXJzZSgiOS41LjAiKQorK1BST0pfR1RF Xzk3MSA9IFBST0pfTE9PU0VfVkVSU0lPTiA+PSB2ZXJzaW9uLnBhcnNlKCI5LjcuMSIpCisgCisg CisgZGVmIHVuc2V0X2RhdGFfZGlyKCk6CistLS0gcHlwcm9qLTMuNy4yLnVuY2hhbmdlZC90ZXN0 L2Nycy90ZXN0X2Nycy5weQkyMDI1LTA4LTE0IDEzOjA1OjA1LjAwMDAwMDAwMCArMDIwMAorKysr IHB5cHJvai0zLjcuMi90ZXN0L2Nycy90ZXN0X2Nycy5weQkyMDI2LTAxLTMxIDE1OjE1OjE5LjMy Nzg0MTY3NCArMDEwMAorQEAgLTIwLDcgKzIwLDcgQEAgZnJvbSBweXByb2ouY3JzLmVudW1zIGlt cG9ydCBDb29yZGluYXRlTworIGZyb20gcHlwcm9qLmVudW1zIGltcG9ydCBQcm9qVmVyc2lvbiwg V2t0VmVyc2lvbgorIGZyb20gcHlwcm9qLmV4Y2VwdGlvbnMgaW1wb3J0IENSU0Vycm9yCisgZnJv bSBweXByb2oudHJhbnNmb3JtZXIgaW1wb3J0IFRyYW5zZm9ybWVyR3JvdXAKKy1mcm9tIHRlc3Qu Y29uZnRlc3QgaW1wb3J0IFBST0pfR1RFXzk0MSwgYXNzZXJ0X2Nhbl9waWNrbGUsIGdyaWRzX2F2 YWlsYWJsZQorK2Zyb20gdGVzdC5jb25mdGVzdCBpbXBvcnQgUFJPSl9HVEVfOTQxLCBQUk9KX0dU RV85NzEsIGFzc2VydF9jYW5fcGlja2xlLCBncmlkc19hdmFpbGFibGUKKyAKKyAKKyBjbGFzcyBD dXN0b21DUlM6CitAQCAtNDE3LDcgKzQxNywyMCBAQCBkZWYgdGVzdF9kYXR1bSgpOgorIAorIAor IGRlZiB0ZXN0X2RhdHVtX2hvcml6b250YWwoKToKKy0gICAgYXNzZXJ0IENSUy5mcm9tX2Vwc2co NTk3MikuZGF0dW0gPT0gQ1JTLmZyb21fZXBzZygyNTgzMikuZGF0dW0KKysgICAgIyBFUFNHOjU5 NzIgaXMgYSBOb3J3ZWdpYW4gY29tcG91bmQgQ1JTCisrICAgICMgSW4gUFJPSiA8IDkuNy4xLCBp dCB1c2VzIHRoZSBnZW5lcmljIEVUUlM4OSBlbnNlbWJsZSAoc2FtZSBhcyBFUFNHOjI1ODMyKQor KyAgICAjIEluIFBST0ogPj0gOS43LjEgKEVQU0cgdjEyLjAyMispLCBpdCB1c2VzIHRoZQorKyAg ICAjIE5vcndheS1zcGVjaWZpYyBFVFJTODktTk9SIHJlYWxpemF0aW9uCisrICAgIGNyc181OTcy ID0gQ1JTLmZyb21fZXBzZyg1OTcyKQorKyAgICBpZiBQUk9KX0dURV85NzE6CisrICAgICAgICAj IFRlc3QgYWdhaW5zdCBFVFJTODktTk9SIFtFVVJFRjg5XSAvIFVUTSB6b25lIDMyTgorKyAgICAg ICAgY3JzXzExMDIyID0gQ1JTLmZyb21fZXBzZygxMTAyMikKKysgICAgICAgIGFzc2VydCBjcnNf NTk3Mi5kYXR1bSBpcyBub3QgTm9uZQorKyAgICAgICAgYXNzZXJ0IGNyc181OTcyLmRhdHVtID09 IGNyc18xMTAyMi5kYXR1bQorKyAgICBlbHNlOgorKyAgICAgICAgIyBUZXN0IGFnYWluc3QgRVRS Uzg5IC8gVVRNIHpvbmUgMzJOCisrICAgICAgICBjcnNfMjU4MzIgPSBDUlMuZnJvbV9lcHNnKDI1 ODMyKQorKyAgICAgICAgYXNzZXJ0IGNyc181OTcyLmRhdHVtID09IGNyc18yNTgzMi5kYXR1bQor IAorIAorIGRlZiB0ZXN0X2RhdHVtX3Vua25vd24oKToKK0BAIC01NzEsNyArNTg0LDE1IEBAIGRl ZiB0ZXN0X3N1Yl9jcnMoKToKKyAgICAgY3JzID0gQ1JTLmZyb21fZXBzZyg1OTcyKQorICAgICBz dWJfY3JzX2xpc3QgPSBjcnMuc3ViX2Nyc19saXN0CisgICAgIGFzc2VydCBsZW4oc3ViX2Nyc19s aXN0KSA9PSAyCistICAgIGFzc2VydCBzdWJfY3JzX2xpc3RbMF0gPT0gQ1JTLmZyb21fZXBzZygy NTgzMikKKysgICAgIyBGaXJzdCBzdWItQ1JTIHNob3VsZCBiZSBhIHByb2plY3RlZCBDUlMgKFVU TSB6b25lIDMyTikKKysgICAgIyBJbiBQUk9KIDwgOS43LjEsIGl0J3MgRVBTRzoyNTgzMiAoRVRS Uzg5IC8gVVRNIHpvbmUgMzJOKQorKyAgICAjIEluIFBST0ogPj0gOS43LjEgKEVQU0cgdjEyLjAy MispLCBpdCdzIEVQU0c6MTEwMjIgKEVUUlM4OS1OT1IgLyBVVE0gem9uZSAzMk4pCisrICAgIGlm IFBST0pfR1RFXzk3MToKKysgICAgICAgIGFzc2VydCBzdWJfY3JzX2xpc3RbMF0uaXNfcHJvamVj dGVkCisrICAgICAgICBhc3NlcnQgc3ViX2Nyc19saXN0WzBdID09IENSUy5mcm9tX2Vwc2coMTEw MjIpCisrICAgIGVsc2U6CisrICAgICAgICBhc3NlcnQgc3ViX2Nyc19saXN0WzBdID09IENSUy5m cm9tX2Vwc2coMjU4MzIpCisrICAgICMgU2Vjb25kIHN1Yi1DUlMgc2hvdWxkIGJlIE5OMjAwMCBo ZWlnaHQgKHZlcnRpY2FsKQorICAgICBhc3NlcnQgc3ViX2Nyc19saXN0WzFdID09IENSUy5mcm9t X2Vwc2coNTk0MSkKKyAgICAgYXNzZXJ0IGNycy5pc19wcm9qZWN0ZWQKKyAgICAgYXNzZXJ0IGNy cy5pc192ZXJ0aWNhbAoKZGlmZiAtLWdpdCBhL3B5cHJvai5zcGVjIGIvcHlwcm9qLnNwZWMKaW5k ZXggYzE4MDBlZS4uMGNjOTgyZiAxMDA2NDQKLS0tIGEvcHlwcm9qLnNwZWMKKysrIGIvcHlwcm9q LnNwZWMKQEAgLTYsMjEgKzYsMjIgQEAKIAogTmFtZTogICAgICAgICAgIHB5cHJvagogVmVyc2lv bjogICAgICAgIDMuNy4yCi1SZWxlYXNlOiAgICAgICAgNCV7P2Rpc3R9CitSZWxlYXNlOiAgICAg ICAgNSV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAgICAgQ3l0aG9uIHdyYXBwZXIgdG8gcHJvdmlkZSBw eXRob24gaW50ZXJmYWNlcyB0byBQcm9qCiAjIHRoaXMgc29mdHdhcmUgdXNlcyB0aGUgIk1JVDpN b2Rlcm4gU3R5bGUgd2l0aCBzdWJsaWNlbnNlIiBsaWNlbnNlCiBMaWNlbnNlOiAgICAgICAgTUlU CiBVUkw6ICAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2pzd2hpdC8le25hbWV9CiBTb3Vy Y2UwOiAgICAgICAgaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzL3NvdXJj ZS9wLyV7bmFtZX0vJXtuYW1lfS0le3ZlcnNpb259LnRhci5negogCi0jIHNlZTogaHR0cHM6Ly9n aXRodWIuY29tL3B5cHJvajQvcHlwcm9qL2lzc3Vlcy8xNTAxCi1QYXRjaDE6ICAgICAgICAgcHlw cm9qLXByb2otOS42LjIucGF0Y2gKKyMgc2VlOiBodHRwczovL2dpdGh1Yi5jb20vcHlwcm9qNC9w eXByb2ovaXNzdWVzLzE1NTMKKyMgYW5kOiBodHRwczovL2dpdGh1Yi5jb20vcHlwcm9qNC9weXBy b2ovcHVsbC8xNTU3CitQYXRjaDE6ICAgICAgICAgcHlwcm9qLXByb2otOS43LjEucGF0Y2gKIAog QnVpbGRSZXF1aXJlczogIGdjYwogQnVpbGRSZXF1aXJlczogIHByb2otZGV2ZWwgPj0gJXttaW5p bWFsX25lZWRlZF9wcm9qX3ZlcnNpb259CiBCdWlsZFJlcXVpcmVzOiAgcHJvaiA+PSAle21pbmlt YWxfbmVlZGVkX3Byb2pfdmVyc2lvbn0KIAotIyB0aGVzZSBuZXh0IDQgYXJlIG5vIGxvbmdlciBu ZWVkZWQgYW5kIHRha2VuIGNhcmUgb2YgYXV0b21hZ2ljYWxseQorIyB0aGVzZSBuZXh0IDMgbGlu ZXMgYXJlIG5vIGxvbmdlciBuZWVkZWQgYW5kIHRha2VuIGNhcmUgb2YgYXV0b21hZ2ljYWxseQog I0J1aWxkUmVxdWlyZXM6ICBtYWtlCiAjQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtY3l0aG9uCiAj QnVpbGRSZXF1aXJlczogIHB5dGhvbjMtY2VydGlmaQpAQCAtNjQsNiArNjUsMTAgQEAgU3VtbWFy eTogJXN1bW1hcnkKIAogUmVxdWlyZXM6ICBwcm9qID49ICV7bWluaW1hbF9uZWVkZWRfcHJval92 ZXJzaW9ufQogCisjIEFkZCBzaGFwZWx5IGFzIChvcHRpb25hbC93ZWFrKSBkZXBlbmRlbmN5Lgor IyBGb3IgZGV0YWlscyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9weXByb2o0L3B5cHJvai9pc3N1 ZXMvMTQ3MAorUmVjb21tZW5kczogcHl0aG9uMy1zaGFwZWx5CisKICMgZW5zdXJlIHB5dGhvbiBw cm92aWRlcyBhcmUgcHJvdmlkZWQgd2hlbiBweXRob24zIGJlY29tZXMgdGhlIGRlZmF1bHQgcnVu dGltZQogJXs/cHl0aG9uX3Byb3ZpZGU6JXB5dGhvbl9wcm92aWRlIHB5dGhvbjMtJXtuYW1lfX0K IApAQCAtMTgxLDYgKzE4NiwxMCBAQCBjcCAuLi9weXByb2otJXt2ZXJzaW9ufS9weXRlc3QuaW5p IC4KIAogCiAlY2hhbmdlbG9nCisqIFNhdCBKYW4gMzEgMjAyNiBKb3MgZGUgS2xvZSA8am9zZGVr bG9lQGdtYWlsLmNvbT4gMy43LjItNQorLSBJbXBvcnQgdXBzdHJlYW0gcGF0Y2ggdG8gZml4IHBy b2JsZW0gaW50cm9kdWNlZCBieSB1cGdyYWRlIHByb2ogdG8gdjkuNy4xCistIFJlbW92ZSBvbGQg cGF0Y2ggZm9yIHByb2ogdjkuNi4yIHRoYXQgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KKwogKiBTYXQg SmFuIDE3IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAzLjcuMi00CiAtIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5v cmcvd2lraS9GZWRvcmFfNDRfTWFzc19SZWJ1aWxkCiAKQEAgLTE5MCw3ICsxOTksNyBAQCBjcCAu Li9weXByb2otJXt2ZXJzaW9ufS9weXRlc3QuaW5pIC4KICogTW9uIFNlcCAxNSAyMDI1IEJlbmph bWluIEEuIEJlYXNsZXkgPGNvZGVAbXVzaWNpbm15YnJhaW4ubmV0PiAtIDMuNy4yLTIKIC0gUmUt ZW5hYmxlIHhhcnJheSBpbnRlZ3JhdGlvbiB0ZXN0cwogCi0qIEZyaSBTZXAgMTIgMjAyNSBKb3Mg ZGUgS2xvZSA8am9zZGVrbG9lQGdtYWlsLmNvbT4gMy43LjIKKyogRnJpIFNlcCAxMiAyMDI1IEpv cyBkZSBLbG9lIDxqb3NkZWtsb2VAZ21haWwuY29tPiAzLjcuMi0xCiAtIFVwZGF0ZSB0byAzLjcu MjsgMiB0ZXN0cyBhcmUgc3RpbGwgZGlzYWJsZWQgZHVlIHRvIGEgcmVncmVzc2lvbiBpbiBwcm9q IDkuNi4yCiAtIEludHJvZHVjZSBuZXcgc3R5bGUgcHlwcm9qZWN0IG1hY3JvcwogCg==