[PATCH] Add CMake build script
evpobr <[email protected]> Mon, 29 May 2017 18:17:52 +0500
| Newsgroups | gmane.comp.audio.compression.speex.devel |
|---|---|
| Message-ID | <[email protected]> |
RGVzY3JpcHRpb24KPT09PT09PT09PT0KClRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IG9mIENNYWtl IG1ldGEgYnVpbGQgc3lzdGVtLCBzbyB5b3UgY2FuIGdlbmVyYXRlClVuaXggbWFrZWZpbGVzLCBW UyA2LjAtMjAxNyBwcm9qZWN0cyBhbmQgbWFueSBtb3JlLgoKRmVhdHVyZXMKPT09PT09PT0KCiog V2luMzIgYW5kIExpbnV4IHRlc3RlZAoqIFRyYXZpcyBDSSB0ZXN0IGFkZGVkCiogR2VuZXJhdGVz IHdvcmtpbmcgVmlzdWFsIFN0dWRpbyA2LjAtMjAxNyBzb2x1dGlvbnMKKiBHZW5lcmF0ZXMgd29y a2luZyBVbml4IE1ha2VmaWxlCiogU3VwcG9ydGVkIG9wdGlvbnMgKDxvcHRpb24+IC0gPGRlZmF1 bHQgdmFsdWU+KToKICAqIGBFTkFCTEVfRkxPQVRJTkdfUE9JTlRgIC0gb24KICAqIGBFTkFCTEVf RklYRURfUE9JTlRgIC0gb2ZmCiAgKiBgRU5BQkxFX0ZJWEVEX1BPSU5UX0RFQlVHYCAtIG9mZgog ICogYFVTRV9HUExfRkZUVzNgIC0gb2ZmCiAgKiBgRElTQUJMRV9GTE9BVF9BUElgIC0gb2ZmCiAg KiBgRElTQUJMRV9WQlJgIC0gb2ZmCiAgKiBgRU5BQkxFX1ZPUkJJU19QU1lgIC0gb2ZmCiAgKiBg RU5BQkxFX1NTRWAgLSBvbiBpZiBzdXBwb3J0ZWQKICAqIGBFTkFCTEVfQVJNNF9BU01gIC0gb2Zm CiAgKiBgRU5BQkxFX0FSTTVFX0FTTWAgLSBvZmYKICAqIGBFTkFCTEVfQkxBQ0tGSU5fQVNNYCAt IG9mZgogICogYEVOQUJMRV9USV9DNTVYYCAtIG9mZgogICogYFVTRV9TUEVFWERTUGAgLSBvbiBp ZiBsaWJyYXJ5IGZvdW5kCiAgKiBgRElTQUJMRV9CSU5BUklFU2AgLSBvZmYKICAqIGBFTkFCTEVf UEFDS0FHRV9DT05GSUdgIC0gb24sIFtDTWFrZSBzcGVjaWZpY10oaHR0cHM6Ly9jbWFrZS5vcmcv Y21ha2UvaGVscC9sYXRlc3QvbWFudWFsL2NtYWtlLXBhY2thZ2VzLjcuaHRtbCNwYWNrYWdlLWNv bmZpZ3VyYXRpb24tZmlsZSkKKiBDb25maWd1cmVkIGNvbmRpdGlvbmFscyAoYGNvbmZpZy5oYCk6 CiAgKiBgV09SRFNfQklHRU5ESUFOYAogICogYEZMT0FUSU5HX1BPSU5UYAogICogYEZJWEVEX1BP SU5UYAogICogYEZJWEVEX1BPSU5UX0RFQlVHYAogICogYERJU0FCTEVfRkxPQVRfQVBJYAogICog YF9VU0VfU1NFYAogICogYEFSTTRfQVNNYAogICogYEFSTTVFX0FTTWAKICAqIGBCRklOX0FTTWAK ICAqIGBUSV9DNTVYYAogICogYERJU0FCTEVfVkJSYAogICogYFVTRV9TUEVFWERTUGAKICAqIGBW T1JCSVNfUFNZQ0hPYAogICogYEhBVkVfR0VUT1BUX0hgCiAgKiBgSEFWRV9HRVRPUFRfTE9OR2AK ICAqIGBWQVJfQVJSQVlTYAogICogYFVTRV9BTExPQ0FgCiAgKiBgSEFWRV9BTExPQ0FfSGAKICAq IGBVU0VfU01BTExGVGAKICAqIGBVU0VfS0lTU19GRlRgCiAgKiBgVVNFX0dQTF9GRlRXM2AKICAq IGBFWFBPUlRgCiogSW5zdGFsbGF0aW9uIHN1cHBvcnRlZAoqIFBhY2thZ2UgY29uZmlnIG1vZGUg c3VwcG9ydGVkCgpIb3cgdG8gdXNlCj09PT09PT09PT0KClJlcXVpcmVkIHRvb2xzIGFuZCBsaWJy YXJpZXM6CgoqIENNYWtlID49IDMuMQoqIE9nZywgU3BlZXhEU1AgcGFja2FnZXMgKGhlYWRlcnMg YW5kIGltcG9ydCBsaWJyYXJpZXMpLCByZWNvbW1lbmRlZAoqIEZGVFczIHBhY2thZ2UsIG9wdGlv bmFsCgpUeXBlIGNvbW1hbmRzOgoKYGBgCm1rZGlyIGNtYWtlLWJ1aWxkCmNkIGNtYWtlLWJ1aWxk CmNtYWtlIC4uCmNtYWtlIC4gLS1idWlsZApgYGAKCm9yIHVzZSBDTWFrZSBHVUkuCi0tLQogLmdp dGlnbm9yZSAgICAgICAgICAgICAgICB8ICAxMCArKwogLnRyYXZpcy55bWwgICAgICAgICAgICAg ICB8ICAzNCArKystCiBDTWFrZUxpc3RzLnR4dCAgICAgICAgICAgIHwgNDM5ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIE1ha2VmaWxlLmFtICAgICAgICAg ICAgICAgfCAgIDcgKy0KIGNtYWtlL0ZpbmRGRlRXLmNtYWtlICAgICAgfCAgMjggKysrCiBjbWFr ZS9GaW5kT2dnLmNtYWtlICAgICAgIHwgIDMwICsrKysKIGNtYWtlL0ZpbmRTcGVleERzcC5jbWFr ZSAgfCAgMjggKysrCiBjbWFrZS9TcGVleENvbmZpZy5jbWFrZSAgIHwgICAxICsKIGNtYWtlL1Rl c3RWYXJBcnJheXMuY21ha2UgfCAgMjIgKysrCiBjb25maWcuaC5jbWFrZSAgICAgICAgICAgIHwg IDIzICsrKwogMTAgZmlsZXMgY2hhbmdlZCwgNjEzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgQ01ha2VMaXN0cy50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBjbWFrZS9GaW5kRkZUVy5jbWFrZQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNtYWtlL0ZpbmRPZ2cu Y21ha2UKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjbWFrZS9GaW5kU3BlZXhEc3AuY21ha2UKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBjbWFrZS9TcGVleENvbmZpZy5jbWFrZQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGNtYWtlL1Rlc3RWYXJBcnJheXMuY21ha2UKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjb25maWcuaC5j bWFrZQoKZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDdjMzA5OTku Ljk5YTM1ZTUgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtNDMs MyArNDMsMTMgQEAgc3JjL3NwZWV4ZGVjCiBzcmMvc3BlZXhlbmMKIHN0YW1wLSoKIHBhdGNoZXMK KworQ01ha2VDYWNoZS50eHQKK0NNYWtlRmlsZXMKK0NNYWtlU2NyaXB0cworVGVzdGluZworTWFr ZWZpbGUKK2NtYWtlX2luc3RhbGwuY21ha2UKK2luc3RhbGxfbWFuaWZlc3QudHh0Citjb21waWxl X2NvbW1hbmRzLmpzb24KK0NUZXN0VGVzdGZpbGUuY21ha2UKZGlmZiAtLWdpdCBhLy50cmF2aXMu eW1sIGIvLnRyYXZpcy55bWwKaW5kZXggZmY4NWJjMy4uMmJjMDI4YiAxMDA2NDQKLS0tIGEvLnRy YXZpcy55bWwKKysrIGIvLnRyYXZpcy55bWwKQEAgLTEsMTEgKzEsMjUgQEAKIGxhbmd1YWdlOiBj CitzdWRvOiBmYWxzZQorZGlzdDogdHJ1c3R5CithZGRvbnM6CisgIGFwdDoKKyAgICBwYWNrYWdl czoKKyAgICAgIC0gbGlib2dnLWRldgorICAgICAgLSBsaWJzcGVleGRzcC1kZXYKKyAgICAgIC0g bGliZmZ0dzMtZGV2CiAKIGVudjoKLSAgLSBDT05GSUc9IiIKLSAgLSBDT05GSUc9Ii0tZW5hYmxl LWZpeGVkLXBvaW50IgotICAtIENPTkZJRz0iLS1lbmFibGUtZml4ZWQtcG9pbnQgLS1kaXNhYmxl LWZsb2F0LWFwaSIKLSAgLSBDT05GSUc9Ii0tZW5hYmxlLXZvcmJpcy1wc3kiCi0gIC0gQ09ORklH PSItLWRpc2FibGUtYmluYXJpZXMiCisgIG1hdHJpeDoKKyAgICAtIENNQUtFPTEgQ09ORklHPSIi CisgICAgLSBDTUFLRT0xIENPTkZJRz0iLURFTkFCTEVfRklYRURfUE9JTlQ6Qk9PTD1UUlVFIC1E RU5BQkxFX0ZMT0FUSU5HX1BPSU5UOkJPT0w9RkFMU0UiCisgICAgLSBDTUFLRT0xIENPTkZJRz0i LURFTkFCTEVfRklYRURfUE9JTlQ6Qk9PTD1UUlVFIC1ERU5BQkxFX0ZMT0FUSU5HX1BPSU5UOkJP T0w9RkFMU0UgLURESVNBQkxFX0ZMT0FUX0FQSTpCT09MPVRSVUUiCisgICAgLSBDTUFLRT0xIENP TkZJRz0iLURFTkFCTEVfVk9SQklTX1BTWTpCT09MPVRSVUUiCisgICAgLSBDTUFLRT0xIENPTkZJ Rz0iLURESVNBQkxFX0JJTkFSSUVTOkJPT0w9VFJVRSIKKyAgICAtIEFVVE9UT09MUz0xIENPTkZJ Rz0iIgorICAgIC0gQVVUT1RPT0xTPTEgQ09ORklHPSItLWVuYWJsZS1maXhlZC1wb2ludCIKKyAg ICAtIEFVVE9UT09MUz0xIENPTkZJRz0iLS1lbmFibGUtZml4ZWQtcG9pbnQgLS1kaXNhYmxlLWZs b2F0LWFwaSIKKyAgICAtIEFVVE9UT09MUz0xIENPTkZJRz0iLS1lbmFibGUtdm9yYmlzLXBzeSIK KyAgICAtIEFVVE9UT09MUz0xIENPTkZJRz0iLS1kaXNhYmxlLWJpbmFyaWVzIgogCiBvczoKICAg LSBsaW51eApAQCAtMTUsNyArMjksMTEgQEAgY29tcGlsZXI6CiAgIC0gZ2NjCiAgIC0gY2xhbmcK IAorYmVmb3JlX2luc3RhbGw6CisgIC0gaWYgW1sgIiR7VFJBVklTX09TX05BTUV9IiA9PSAib3N4 IiBdXTsgdGhlbgorICAgICAgYnJldyBpbnN0YWxsIGxpYm9nZyBzcGVleGRzcCBmZnR3OworICAg IGZpCisKIHNjcmlwdDoKLSAgLSAuL2F1dG9nZW4uc2gKLSAgLSAuL2NvbmZpZ3VyZSAkQ09ORklH Ci0gIC0gbWFrZSBkaXN0Y2hlY2sKKyAgLSBpZiBbICIkQ01BS0UiID09ICIxIiBdOyB0aGVuIG1r ZGlyIGNtYWtlLWJ1aWxkOyBjZCBjbWFrZS1idWlsZDsgY21ha2UgLi4gJENPTkZJRyAtREJVSUxE X1NIQVJFRF9MSUJTOkJPT0w9VFJVRSAtRENNQUtFX0lOU1RBTExfUFJFRklYOlBBVEg9JEhPTUUv Y21ha2UtY2hlY2s7IG1ha2UgaW5zdGFsbDsgZmkKKyAgLSBpZiBbICIkQVVUT1RPT0xTIiA9PSAi MSIgXTsgdGhlbiAuL2F1dG9nZW4uc2g7IC4vY29uZmlndXJlICRDT05GSUc7IG1ha2UgZGlzdGNo ZWNrOyBmaQpkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmEzOGEyCi0tLSAvZGV2L251bGwKKysr IGIvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw0MzkgQEAKK2NtYWtlX21pbmltdW1fcmVxdWly ZWQoVkVSU0lPTiAzLjEpCisKK3Byb2plY3Qoc3BlZXggVkVSU0lPTiAxLjIuMCBMQU5HVUFHRVMg QykKKworc2V0KENNQUtFX01PRFVMRV9QQVRIICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0v Y21ha2UvIikKKworaW5jbHVkZShDaGVja0luY2x1ZGVGaWxlKQoraW5jbHVkZShDaGVja1N5bWJv bEV4aXN0cykKK2luY2x1ZGUoQ2hlY2tMaWJyYXJ5RXhpc3RzKQoraW5jbHVkZShDTWFrZURlcGVu ZGVudE9wdGlvbikKK2luY2x1ZGUoRmVhdHVyZVN1bW1hcnkpCitpbmNsdWRlKFRlc3RWYXJBcnJh eXMpCitpbmNsdWRlKENoZWNrQ0NvbXBpbGVyRmxhZykKK2luY2x1ZGUoR05VSW5zdGFsbERpcnMp CitpbmNsdWRlKFRlc3RCaWdFbmRpYW4pCisKK3Rlc3RfYmlnX2VuZGlhbihXT1JEU19CSUdFTkRJ QU4pCisKK2NoZWNrX2luY2x1ZGVfZmlsZShpbnR0eXBlcy5oIEhBVkVfSU5UVFlQRVNfSCkKK2lm KEhBVkVfSU5UVFlQRVNfSCkKKwlzZXQoSU5DTFVERV9TVERJTlQgIiNpbmNsdWRlIDxpbnR0eXBl cy5oPiIpCitlbHNlKCkKKwljaGVja19pbmNsdWRlX2ZpbGUoc3RkaW50LmggSEFWRV9TVERJTlRf SCkKKwlpZihIQVZFX1NURElOVF9IKQorCQlzZXQoSU5DTFVERV9TVERJTlQgIiNpbmNsdWRlIDxz dGRpbnQuaD4iKQorCWVsc2UoKQorCQljaGVja19pbmNsdWRlX2ZpbGUoc3lzL3R5cGVzLmggSU5D TFVERV9TWVNfVFlQRVNfSCkKKwkJaWYoSEFWRV9TWVNfVFlQRVNfSCkKKwkJCXNldChJTkNMVURF X1NURElOVCAiI2luY2x1ZGUgPHN5cy90eXBlcy5oPiIpCisJCWVuZGlmKCkKKwllbmRpZigpCitl bmRpZigpCitzZXQoU0laRTE2IGludDE2X3QpCitzZXQoVVNJWkUxNiB1aW50MTZfdCkKK3NldChT SVpFMzIgaW50MzJfdCkKK3NldChVU0laRTMyIHVpbnQzMl90KQorc2V0KFNJWkU2NCBpbnQ2NF90 KQorY29uZmlndXJlX2ZpbGUoaW5jbHVkZS9zcGVleC9zcGVleF9jb25maWdfdHlwZXMuaC5pbiBp bmNsdWRlL3NwZWV4L3NwZWV4X2NvbmZpZ190eXBlcy5oIEBPTkxZKQorCit0ZXN0X3ZhcmFycmF5 cyhWQVJfQVJSQVlTKQoraWYoTk9UIFZBUl9BUlJBWVMpCisJY2hlY2tfaW5jbHVkZV9maWxlKGFs bG9jYS5oIEhBVkVfQUxMT0NBX0gpCisJaWYoV0lOMzIpCisJCXNldChVU0VfQUxMT0NBIDEpCisJ ZWxzZSgpCisJCWNoZWNrX3N5bWJvbF9leGlzdHMoYWxsb2NhICJzdGRsaWIuaDthbGxvY2EuaCIg IFVTRV9BTExPQ0EpCisJZW5kaWYoKQorZW5kaWYoKQorCitvcHRpb24oRU5BQkxFX0ZMT0FUSU5H X1BPSU5UICJDb21waWxlIGFzIGZsb2F0aW5nLXBvaW50IiBPTikKK29wdGlvbihFTkFCTEVfRklY RURfUE9JTlQgIkNvbXBpbGUgYXMgZml4ZWQtcG9pbnQiIE9GRikKKworCitpZihFTkFCTEVfRkxP QVRJTkdfUE9JTlQgQU5EIEVOQUJMRV9GSVhFRF9QT0lOVCkKKwltZXNzYWdlKEZBVEFMX0VSUk9S ICJTZWxlY3Qgb25lIG9mIEVOQUJMRV9GTE9BVElOR19QT0lOVCBvZiBFTkFCTEVfRklYRURfUE9J TlQuIikKK2VuZGlmKCkKK2lmKChOT1QgRU5BQkxFX0ZMT0FUSU5HX1BPSU5UKSBBTkQgKE5PVCBF TkFCTEVfRklYRURfUE9JTlQpKQorCW1lc3NhZ2UoRkFUQUxfRVJST1IgIlNlbGVjdCBvbmUgb2Yg RU5BQkxFX0ZMT0FUSU5HX1BPSU5UIG9mIEVOQUJMRV9GSVhFRF9QT0lOVC4iKQorZW5kaWYoKQor CitmaW5kX3BhY2thZ2UoRkZUVykKKworY21ha2VfZGVwZW5kZW50X29wdGlvbihVU0VfR1BMX0ZG VFczICJVc2UgRkZUVzMgZm9yIEZGVCIgT0ZGICJGRlRXX0ZPVU5EOyBFTkFCTEVfRkxPQVRJTkdf UE9JTlQiIE9GRikKKworaWYoRU5BQkxFX0ZMT0FUSU5HX1BPSU5UKQorCXNldChGTE9BVElOR19Q T0lOVCAxKQorCXNldChGSVhFRF9QT0lOVCAwKQorCXNldChVU0VfS0lTU19GRlQgMCkKKwlpZihO T1QgVVNFX0dQTF9GRlRXMykKKwkJc2V0KFVTRV9TTUFMTEZUIDEpCisJZW5kaWYoKQorZWxzZSgp CisJc2V0KEZMT0FUSU5HX1BPSU5UIDApCisJc2V0KEZJWEVEX1BPSU5UIDEpCisJc2V0KFVTRV9L SVNTX0ZGVCAxKQorCXNldChVU0VfU01BTExGVCAwKQorCXNldChVU0VfR1BMX0ZGVFczIDApCitl bmRpZigpCisKK2NtYWtlX2RlcGVuZGVudF9vcHRpb24oRU5BQkxFX0ZJWEVEX1BPSU5UX0RFQlVH ICJEZWJ1ZyBmaXhlZC1wb2ludCBpbXBsZW1lbnRhdGlvbiIgT0ZGICJFTkFCTEVfRklYRURfUE9J TlQiIE9GRikKK3NldChGSVhFRF9QT0lOVF9ERUJVRyAke0VOQUJMRV9GSVhFRF9QT0lOVF9ERUJV R30pCisKK29wdGlvbihESVNBQkxFX0ZMT0FUX0FQSSAiRGlzYWJsZSBhbGwgcGFydHMgb2YgdGhl IEFQSSB0aGF0IGFyZSB1c2luZyBmbG9hdHMiIE9GRikKK29wdGlvbihESVNBQkxFX1ZCUiAiRGlz YWJsZSBWQlIgYW5kIFZBRCBmcm9tIHRoZSBjb2RlYyIgT0ZGKQorY21ha2VfZGVwZW5kZW50X29w dGlvbihFTkFCTEVfVk9SQklTX1BTWSAiRW5hYmxlIHRoZSBWb3JiaXMgcHN5IG1vZGVsIiBPRkYg Ik5PVCBFTkFCTEVfRklYRURfUE9JTlQ7VkFSX0FSUkFZUyIgT0ZGKQorc2V0KFZPUkJJU19QU1lD SE8gJHtFTkFCTEVfVk9SQklTX1BTWX0pCisKK2lmKENNQUtFX1NZU1RFTV9QUk9DRVNTT1IgTUFU Q0hFUyAiKHg4Nil8KFg4Nil8KGFtZDY0KXwoQU1ENjQpIikKKyAgICBzZXQoQ1BVX0lTX1g4NiBU UlVFKQorZWxzZSgpCisgICAgc2V0KENQVV9JU19YODYgRkFMU0UpCitlbmRpZigpCitpZihDUFVf SVNfWDg2KQorCWNoZWNrX2luY2x1ZGVfZmlsZSh4bW1pbnRyaW4uaCBIQVZFX1hNTUlOVFJJTl9I KQorZW5kaWYoKQorY21ha2VfZGVwZW5kZW50X29wdGlvbihFTkFCTEVfU1NFICJFbmFibGUgU1NF IHN1cHBvcnQiIE9OICJDUFVfSVNfWDg2O0hBVkVfWE1NSU5UUklOX0g7RU5BQkxFX0ZMT0FUSU5H X1BPSU5UIiBPRkYpCitpZihFTkFCTEVfU1NFKQorCXNldChfVVNFX1NTRSAxKQorCWNoZWNrX2Nf Y29tcGlsZXJfZmxhZygiL2FyY2g6U1NFIiBBUkNIX1NTRV9GTEFHKQorCWlmKEFSQ0hfU1NFX0ZM QUcpCisJCXNldChTU0VfRkxBR1MgIi9hcmNoOlNTRSIpCisJZWxzZSgpCisJCWNoZWNrX2NfY29t cGlsZXJfZmxhZygiLW1zc2UiIE1TU0VfRkxBRykKKwkJaWYoTVNTRV9GTEFHKQorCQkJc2V0KFNT RV9GTEFHUyAiLW1zc2UiKQorCQllbmRpZigpCisJZW5kaWYoKQorZW5kaWYoKQorCitpZiAoQ01B S0VfU1lTVEVNX1BST0NFU1NPUiBNQVRDSEVTICJeYXJtIikKKwlzZXQoQ1BVX0lTX0FSTSAxKQor ZW5kaWYgKCkKK2NtYWtlX2RlcGVuZGVudF9vcHRpb24oRU5BQkxFX0FSTTRfQVNNICJNYWtlIHVz ZSBvZiBBUk00IGFzc2VtYmx5IG9wdGltaXphdGlvbnMiIE9GRiAiQ1BVX0lTX0FSTTtFTkFCTEVf RklYRURfUE9JTlQiIE9GRikKK3NldChBUk00X0FTTSAke0VOQUJMRV9BUk00X0FTTX0pCitjbWFr ZV9kZXBlbmRlbnRfb3B0aW9uKEVOQUJMRV9BUk01RV9BU00gIk1ha2UgdXNlIG9mIEFSTTVFIGFz c2VtYmx5IG9wdGltaXphdGlvbnMiIE9GRiAiQ1BVX0lTX0FSTTtFTkFCTEVfRklYRURfUE9JTlQi IE9GRikKK3NldChBUk01RV9BU00gJHtFTkFCTEVfQVJNNUVfQVNNfSkKK2NtYWtlX2RlcGVuZGVu dF9vcHRpb24oRU5BQkxFX0JMQUNLRklOX0FTTSAiTWFrZSB1c2Ugb2YgQmxhY2tmaW4gYXNzZW1i bHkgb3B0aW1pemF0aW9ucyIgT0ZGICJOT1QgQ1BVX0lTX1g4NjtFTkFCTEVfRklYRURfUE9JTlQi IE9GRikKK3NldChCRklOX0FTTSAke0VOQUJMRV9CTEFDS0ZJTl9BU019KQorY21ha2VfZGVwZW5k ZW50X29wdGlvbihFTkFCTEVfVElfQzU1WCAiRW5hYmxlIHN1cHBvcnQgZm9yIFRJIEM1NVggRFNQ IiBPRkYgIk5PVCBDUFVfSVNfWDg2IiBPRkYpCitzZXQoVElfQzU1WCAke0VOQUJMRV9USV9DNTVY fSkKKworaWYoTk9UIFdJTjMyKQorCWNoZWNrX2xpYnJhcnlfZXhpc3RzKG0gY29zICIiIEhBVkVf TElCTSkKKwlpZihIQVZFX0xJQk0pCisJCWZpbmRfbGlicmFyeShMSUJNIG0pCisJZW5kaWYoKQor ZW5kaWYoKQorCitpZihNU1ZDKQorCWFkZF9kZWZpbml0aW9ucygtRF9DUlRfU0VDVVJFX05PX1dB Uk5JTkdTIC1EX0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSkKK2VuZGlmKE1TVkMpCisKK2ZpbmRf cGFja2FnZShPZ2cpCitmaW5kX3BhY2thZ2UoU3BlZXhEc3ApCisKK2NtYWtlX2RlcGVuZGVudF9v cHRpb24oVVNFX1NQRUVYRFNQICJFbmFibGUgU3BlZXhEU1AgbGlicmFyeSIgT04gIlNwZWV4RHNw X0ZPVU5EIiBPRkYpCitjbWFrZV9kZXBlbmRlbnRfb3B0aW9uKERJU0FCTEVfQklOQVJJRVMgIkRv IG5vdCBidWlsZCB0aGUgZW5jb2RlciBhbmQgZGVjb2RlciBwcm9ncmFtcywgb25seSB0aGUgbGli cmFyeSIgT0ZGICJPZ2dfRk9VTkQiIE9GRikKKworY2hlY2tfY19jb21waWxlcl9mbGFnKCItZnZp c2liaWxpdHk9aGlkZGVuIiBIQVNfVklTSUJJTElUWSkKK2lmKEhBU19WSVNJQklMSVRZKQorCVNF VChFWFBPUlQgIl9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoXCJkZWZhdWx0XCIpKSkiKQorZW5k aWYoKQorCitjaGVja19pbmNsdWRlX2ZpbGUoZ2V0b3B0LmggSEFWRV9HRVRPUFRfSCkKK2lmKEhB VkVfR0VUT1BUX0gpCisJY2hlY2tfc3ltYm9sX2V4aXN0cyhnZXRvcHRfbG9uZyBnZXRvcHQuaCBI QVZFX0dFVE9QVF9MT05HKQorZW5kaWYoKQorCitvcHRpb24gKEVOQUJMRV9QQUNLQUdFX0NPTkZJ RyAiR2VuZXJhdGUgYW5kIGluc3RhbGwgcGFja2FnZSBjb25maWcgZmlsZSIgT04pCisKK3NldF9w YWNrYWdlX3Byb3BlcnRpZXMoT2dnIFBST1BFUlRJRVMgVFlQRSBSRUNPTU1FTkRFRAorCVVSTCAi d3d3LnhpcGgub3JnL29nZy8iCisJREVTQ1JJUFRJT04gImxpYnJhcnkgZm9yIG1hbmlwdWxhdGlu ZyBvZ2cgYml0c3RyZWFtcyIKKwlQVVJQT1NFICJSZXF1aXJlZCB0byBidWlsZCBzcGVleGVuYyBh bmQgc3BlZXhkZWMgdG9vbHMiKQorc2V0X3BhY2thZ2VfcHJvcGVydGllcyhTcGVleERzcCBQUk9Q RVJUSUVTIFRZUEUgUkVDT01NRU5ERUQKKwlVUkwgImh0dHBzOi8vc3BlZXgub3JnLyIKKwlERVND UklQVElPTiAic3BlZWNoIHByb2Nlc3NpbmcgbGlicmFyeSB0aGF0IGdvZXMgYWxvbmcgd2l0aCB0 aGUgU3BlZXggY29kZWMiCisJUFVSUE9TRSAiRW5hYmxlcyBzcGVleGVuYyB0b29sIHByZXByb2Nl c3Npbmcgb3B0aW9ucyIpCitzZXRfcGFja2FnZV9wcm9wZXJ0aWVzKEZGVFcgUFJPUEVSVElFUyBU WVBFIE9QVElPTkFMCisJVVJMICJodHRwOi8vd3d3LmZmdHcub3JnLyIKKwlERVNDUklQVElPTiAi ZmFzdCBGb3VyaWVyIHRyYW5zZm9ybSBsaWJyYXJ5IgorCVBVUlBPU0UgIkVuYWJsZXMgdXNlIG9m IEZGVFcgZm9yIGZhc3QgRm91cmllciB0cmFuc2Zvcm1zIikKK2FkZF9mZWF0dXJlX2luZm8oRU5B QkxFX0FMTE9DQSBVU0VfQUxMT0NBICJNYWtlIHVzZSBvZiBhbGxvY2EgZnVuY3Rpb24uIikKK2Fk ZF9mZWF0dXJlX2luZm8oRU5BQkxFX1ZBUl9BUlJBWVMgVkFSX0FSUkFZUyAiTWFrZSB1c2Ugb2Yg dmFyaWFibGUtbGVuZ3RoIGFycmF5cy4iKQorYWRkX2ZlYXR1cmVfaW5mbyhFTkFCTEVfRkxPQVRJ TkdfUE9JTlQgRU5BQkxFX0ZMT0FUSU5HX1BPSU5UICJjb21waWxlIGFzIGZsb2F0aW5nLXBvaW50 LiIpCithZGRfZmVhdHVyZV9pbmZvKEVOQUJMRV9GSVhFRF9QT0lOVCBFTkFCTEVfRklYRURfUE9J TlQgImNvbXBpbGUgYXMgZml4ZWQtcG9pbnQuIikKK2FkZF9mZWF0dXJlX2luZm8oRU5BQkxFX0ZJ WEVEX1BPSU5UX0RFQlVHIEVOQUJMRV9GSVhFRF9QT0lOVF9ERUJVRyAiZGVidWcgZml4ZWQtcG9p bnQgaW1wbGVtZW50YXRpb24uIikKK2FkZF9mZWF0dXJlX2luZm8oRU5BQkxFX1NTRSBFTkFCTEVf U1NFICJlbmFibGUgU1NFIHN1cHBvcnQuIikKK2FkZF9mZWF0dXJlX2luZm8oRU5BQkxFX0FSTTRf QVNNIEVOQUJMRV9BUk00X0FTTSAibWFrZSB1c2Ugb2YgQVJNNCBhc3NlbWJseSBvcHRpbWl6YXRp b25zLiIpCithZGRfZmVhdHVyZV9pbmZvKEVOQUJMRV9BUk01RV9BU00gRU5BQkxFX0FSTTVFX0FT TSAibWFrZSB1c2Ugb2YgQVJNNUUgYXNzZW1ibHkgb3B0aW1pemF0aW9ucy4iKQorYWRkX2ZlYXR1 cmVfaW5mbyhFTkFCTEVfQkxBQ0tGSU5fQVNNIEVOQUJMRV9CTEFDS0ZJTl9BU00gIm1ha2UgdXNl IG9mIEJsYWNrZmluIGFzc2VtYmx5IG9wdGltaXphdGlvbnMuIikKK2FkZF9mZWF0dXJlX2luZm8o RU5BQkxFX1RJX0M1NVggRU5BQkxFX1RJX0M1NVggImVuYWJsZSBzdXBwb3J0IGZvciBUSSBDNTVY IERTUC4iKQorYWRkX2ZlYXR1cmVfaW5mbyhESVNBQkxFX0ZMT0FUX0FQSSBESVNBQkxFX0ZMT0FU X0FQSSAiZGlzYWJsZSBhbGwgcGFydHMgb2YgdGhlIEFQSSB0aGF0IGFyZSB1c2luZyBmbG9hdHMu IikKK2FkZF9mZWF0dXJlX2luZm8oRElTQUJMRV9WQlIgRElTQUJMRV9WQlIgImRpc2FibGUgVkJS IGFuZCBWQUQgZnJvbSB0aGUgY29kZWMuIikKK2FkZF9mZWF0dXJlX2luZm8oRU5BQkxFX1ZPUkJJ U19QU1kgRU5BQkxFX1ZPUkJJU19QU1kgImVuYWJsZSB0aGUgVm9yYmlzIHBzeSBtb2RlbC4iKQor YWRkX2ZlYXR1cmVfaW5mbyhFTkFCTEVfU1BFRVhEU1AgVVNFX1NQRUVYRFNQICJlbmFibGUgc3Bl ZXhlbmMgcHJlcHJvY2Vzc2luZyBvcHRpb25zLiIpCithZGRfZmVhdHVyZV9pbmZvKERJU0FCTEVf QklOQVJJRVMgRElTQUJMRV9CSU5BUklFUyAiZG8gbm90IGJ1aWxkIHRoZSBlbmNvZGVyIGFuZCBk ZWNvZGVyIHByb2dyYW1zLCBvbmx5IHRoZSBsaWJyYXJ5LiIpCithZGRfZmVhdHVyZV9pbmZvKEVO QUJMRV9QQUNLQUdFX0NPTkZJRyBFTkFCTEVfUEFDS0FHRV9DT05GSUcgImdlbmVyYXRlIGFuZCBp bnN0YWxsIHBhY2thZ2UgY29uZmlnIGZpbGUiKQorYWRkX2ZlYXR1cmVfaW5mbyhVU0VfR1BMX0ZG VFczIFVTRV9HUExfRkZUVzMgIlVzZSBGRlRXMyBsaWJyYXJ5IGZvciBmYXN0IEZvdXJpZXIgdHJh bnNmb3JtcyIpCitmZWF0dXJlX3N1bW1hcnkoV0hBVCBBTEwpCisKK2NvbmZpZ3VyZV9maWxlKGNv bmZpZy5oLmNtYWtlIGNvbmZpZy5oKQorCitzZXQoc3BlZXhfUFVCTElDX0hFQURFUlMKKwlpbmNs dWRlL3NwZWV4L3NwZWV4LmgKKwlpbmNsdWRlL3NwZWV4L3NwZWV4X2JpdHMuaAorCWluY2x1ZGUv c3BlZXgvc3BlZXhfY2FsbGJhY2tzLmgKKwlpbmNsdWRlL3NwZWV4L3NwZWV4X2hlYWRlci5oCisJ aW5jbHVkZS9zcGVleC9zcGVleF9zdGVyZW8uaAorCWluY2x1ZGUvc3BlZXgvc3BlZXhfdHlwZXMu aAorCSR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9pbmNsdWRlL3NwZWV4L3NwZWV4X2NvbmZp Z190eXBlcy5oKQorCitzZXQoc3BlZXhfU09VUkNFUworCWxpYnNwZWV4L2NiX3NlYXJjaC5jCisJ bGlic3BlZXgvZXhjXzEwXzMyX3RhYmxlLmMKKwlsaWJzcGVleC9leGNfOF8xMjhfdGFibGUuYwor CWxpYnNwZWV4L2ZpbHRlcnMuYworCWxpYnNwZWV4L2dhaW5fdGFibGUuYworCWxpYnNwZWV4L2hl eGNfdGFibGUuYworCWxpYnNwZWV4L2hpZ2hfbHNwX3RhYmxlcy5jCisJbGlic3BlZXgvbHNwLmMK KwlsaWJzcGVleC9sdHAuYworCWxpYnNwZWV4L3NwZWV4LmMKKwlsaWJzcGVleC9zdGVyZW8uYwor CWxpYnNwZWV4L3Zici5jCisJbGlic3BlZXgvdnEuYworCWxpYnNwZWV4L2JpdHMuYworCWxpYnNw ZWV4L2V4Y18xMF8xNl90YWJsZS5jCisJbGlic3BlZXgvZXhjXzIwXzMyX3RhYmxlLmMKKwlsaWJz cGVleC9leGNfNV8yNTZfdGFibGUuYworCWxpYnNwZWV4L2V4Y181XzY0X3RhYmxlLmMKKwlsaWJz cGVleC9nYWluX3RhYmxlX2xici5jCisJbGlic3BlZXgvaGV4Y18xMF8zMl90YWJsZS5jCisJbGli c3BlZXgvbHBjLmMKKwlsaWJzcGVleC9sc3BfdGFibGVzX25iLmMKKwlsaWJzcGVleC9tb2Rlcy5j CisJbGlic3BlZXgvbW9kZXNfd2IuYworCWxpYnNwZWV4L25iX2NlbHAuYworCWxpYnNwZWV4L3F1 YW50X2xzcC5jCisJbGlic3BlZXgvc2JfY2VscC5jCisJbGlic3BlZXgvc3BlZXhfY2FsbGJhY2tz LmMKKwlsaWJzcGVleC9zcGVleF9oZWFkZXIuYworCWxpYnNwZWV4L3dpbmRvdy5jCisJbGlic3Bl ZXgvYXJjaC5oCisJbGlic3BlZXgvYmZpbi5oCisJbGlic3BlZXgvY2Jfc2VhcmNoX2FybTQuaAor CWxpYnNwZWV4L2NiX3NlYXJjaF9iZmluLmgKKwlsaWJzcGVleC9jYl9zZWFyY2hfc3NlLmgKKwls aWJzcGVleC9maWx0ZXJzLmgKKwlsaWJzcGVleC9maWx0ZXJzX2FybTQuaAorCWxpYnNwZWV4L2Zp bHRlcnNfYmZpbi5oCisJbGlic3BlZXgvZmlsdGVyc19zc2UuaAorCWxpYnNwZWV4L2ZpeGVkX2Fy bTQuaAorCWxpYnNwZWV4L2ZpeGVkX2FybTVlLmgKKwlsaWJzcGVleC9maXhlZF9iZmluLmgKKwls aWJzcGVleC9maXhlZF9kZWJ1Zy5oCisJbGlic3BlZXgvbHBjLmgKKwlsaWJzcGVleC9scGNfYmZp bi5oCisJbGlic3BlZXgvbHRwLmgKKwlsaWJzcGVleC9sdHBfYXJtNC5oCisJbGlic3BlZXgvbHRw X3NzZS5oCisJbGlic3BlZXgvbWF0aF9hcHByb3guaAorCWxpYnNwZWV4L21pc2NfYmZpbi5oCisJ bGlic3BlZXgvbmJfY2VscC5oCisJbGlic3BlZXgvcXVhbnRfbHNwLmgKKwlsaWJzcGVleC9zYl9j ZWxwLmgKKwlsaWJzcGVleC9zdGFja19hbGxvYy5oCisJbGlic3BlZXgvdmJyLmgKKwlsaWJzcGVl eC92cS5oCisJbGlic3BlZXgvdnFfYXJtNC5oCisJbGlic3BlZXgvdnFfYmZpbi5oCisJbGlic3Bl ZXgvdnFfc3NlLmgKKwlsaWJzcGVleC9jYl9zZWFyY2guaAorCWxpYnNwZWV4L2ZmdHdyYXAuaAor CWxpYnNwZWV4L2ZmdHdyYXAuYworCWxpYnNwZWV4L2ZpeGVkX2dlbmVyaWMuaAorCWxpYnNwZWV4 L2xzcC5oCisJbGlic3BlZXgvbHNwX2JmaW4uaAorCWxpYnNwZWV4L2x0cF9iZmluLmgKKwlsaWJz cGVleC9tb2Rlcy5oCisJbGlic3BlZXgvb3Nfc3VwcG9ydC5oCisJbGlic3BlZXgvcXVhbnRfbHNw X2JmaW4uaAorCWxpYnNwZWV4L3NtYWxsZnQuaCkKKworYWRkX2xpYnJhcnkoc3BlZXggJHtzcGVl eF9QVUJMSUNfSEVBREVSU30gJHtzcGVleF9TT1VSQ0VTfSkKK3RhcmdldF9jb21waWxlX2RlZmlu aXRpb25zKHNwZWV4CisJUFJJVkFURSAtREhBVkVfQ09ORklHX0gpCit0YXJnZXRfaW5jbHVkZV9k aXJlY3RvcmllcyhzcGVleAorCVBSSVZBVEUgJDxCVUlMRF9JTlRFUkZBQ0U6JHtDTUFLRV9DVVJS RU5UX0JJTkFSWV9ESVJ9PgorCVBVQkxJQyAkPEJVSUxEX0lOVEVSRkFDRToke0NNQUtFX0NVUlJF TlRfQklOQVJZX0RJUn0vaW5jbHVkZS9zcGVleD4KKwlQVUJMSUMgJDxCVUlMRF9JTlRFUkZBQ0U6 JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2luY2x1ZGU+CisJUFVCTElDICQ8SU5TVEFMTF9J TlRFUkZBQ0U6JHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9PikKK2lmKFVTRV9HUExfRkZUVzMp CisJdGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXMoc3BlZXgKKwkJUFJJVkFURSAkPEJVSUxEX0lO VEVSRkFDRToke0ZGVFdfSU5DTFVERV9ESVJTfT4pCisJaWYoQlVJTERfU0hBUkVEX0xJQlMpCisJ CXRhcmdldF9saW5rX2xpYnJhcmllcyhzcGVleCBQUklWQVRFICR7RkZUV19MSUJSQVJJRVN9KQor CWVsc2UoKQorCQl0YXJnZXRfbGlua19saWJyYXJpZXMoc3BlZXggUFVCTElDICR7RkZUV19MSUJS QVJJRVN9KQorCWVuZGlmKCkKK2VuZGlmKCkKK2lmKEhBVkVfTElCTSkKKwlpZihCVUlMRF9TSEFS RURfTElCUykKKwkJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNwZWV4IFBSSVZBVEUgJHtMSUJNfSkK KwllbHNlKCkKKwkJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNwZWV4IFBVQkxJQyAke0xJQk19KQor CWVuZGlmKCkKK2VuZGlmKCkKK3RhcmdldF9jb21waWxlX29wdGlvbnMoc3BlZXggUFJJVkFURSAk e1NTRV9GTEFHU30pCitpZihXSU4zMiBBTkQgQlVJTERfU0hBUkVEX0xJQlMpCisJdGFyZ2V0X3Nv dXJjZXMoc3BlZXggUFJJVkFURSB3aW4zMi9saWJzcGVleC5kZWYpCisJc2V0X3RhcmdldF9wcm9w ZXJ0aWVzIChzcGVleCBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJsaWJzcGVleCIpCitlbmRpZigp CitzZXRfdGFyZ2V0X3Byb3BlcnRpZXMgKHNwZWV4IFBST1BFUlRJRVMKKwkJUFVCTElDX0hFQURF UiAiJHtzcGVleF9QVUJMSUNfSEVBREVSU30iCisJCVNPVkVSU0lPTiAxLjUuMQorCQlWRVJTSU9O IDEpCitpZihFWFBPUlQgQU5EIEJVSUxEX1NIQVJFRF9MSUJTKQorCXNldF90YXJnZXRfcHJvcGVy dGllcyAoc3BlZXggUFJPUEVSVElFUworCQkJQ19WSVNJQklMSVRZX1BSRVNFVCBoaWRkZW4pCitl bmRpZigpCitpZihVU0VfU01BTExGVCkKKwl0YXJnZXRfc291cmNlcyhzcGVleCBQUklWQVRFCisJ CWxpYnNwZWV4L3NtYWxsZnQuYykKK2Vsc2VpZihVU0VfS0lTU19GRlQpCisJdGFyZ2V0X3NvdXJj ZXMoc3BlZXggUFJJVkFURQorCQlsaWJzcGVleC9raXNzX2ZmdC5jCisJCWxpYnNwZWV4L19raXNz X2ZmdF9ndXRzLmgKKwkJbGlic3BlZXgva2lzc19mZnQuaAorCQlsaWJzcGVleC9raXNzX2ZmdHIu YworCQlsaWJzcGVleC9raXNzX2ZmdHIuaCkKK2VuZGlmKCkKK2lmKFZPUkJJU19QU1lDSE8pCisJ dGFyZ2V0X3NvdXJjZXMoc3BlZXggUFJJVkFURQorCQlsaWJzcGVleC92b3JiaXNfcHN5LmgKKwkJ bGlic3BlZXgvdm9yYmlzX3BzeS5jKQorZW5kaWYoKQorCisjIFByb2dyYW1zCisKK2lmKE5PVCBE SVNBQkxFX0JJTkFSSUVTKQorCitTRVQoc3BlZXhlbmNfU09VUkNFUworCXNyYy9zcGVleGVuYy5j CisJc3JjL3dhdl9pby5jCisJc3JjL3NrZWxldG9uLmMpCithZGRfZXhlY3V0YWJsZShzcGVleGVu YyAke3NwZWV4ZW5jX1NPVVJDRVN9KQordGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXMoc3BlZXhl bmMKKwlQUklWQVRFCisJCSQ8QlVJTERfSU5URVJGQUNFOiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllf RElSfT4KKwkJJDxCVUlMRF9JTlRFUkZBQ0U6JHtPR0dfSU5DTFVERV9ESVJTfT4KKwkJJDxCVUlM RF9JTlRFUkZBQ0U6JHtTUEVFWERTUF9JTkNMVURFX0RJUlN9PikKK3RhcmdldF9saW5rX2xpYnJh cmllcyhzcGVleGVuYworCVBVQkxJQyBzcGVleCAke09HR19MSUJSQVJJRVN9ICR7U1BFRVhEU1Bf TElCUkFSSUVTfSkKK2lmKFdJTjMyKQorCXRhcmdldF9saW5rX2xpYnJhcmllcyhzcGVleGVuYyBQ UklWQVRFIHdpbm1tLmxpYikKK2VuZGlmKCkKK3RhcmdldF9jb21waWxlX2RlZmluaXRpb25zKHNw ZWV4ZW5jCisJUFJJVkFURSAtREhBVkVfQ09ORklHX0gpCitpZihOT1QgSEFWRV9HRVRPUFRfTE9O RykKKwl0YXJnZXRfc291cmNlcyhzcGVleGVuYyBQUklWQVRFCisJCXNyYy9nZXRvcHQuYworCQlz cmMvZ2V0b3B0MS5jCisJCXNyYy93YXZlX291dC5jKQorZW5kaWYoKQorCitTRVQoc3BlZXhkZWNf U09VUkNFUworCXNyYy9zcGVleGRlYy5jCisJc3JjL3dhdl9pby5jKQorYWRkX2V4ZWN1dGFibGUo c3BlZXhkZWMgJHtzcGVleGRlY19TT1VSQ0VTfSkKK3RhcmdldF9pbmNsdWRlX2RpcmVjdG9yaWVz KHNwZWV4ZGVjCisJUFJJVkFURQorCQkkPEJVSUxEX0lOVEVSRkFDRToke0NNQUtFX0NVUlJFTlRf QklOQVJZX0RJUn0+CisJCSQ8QlVJTERfSU5URVJGQUNFOiR7T0dHX0lOQ0xVREVfRElSU30+KQor dGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNwZWV4ZGVjIFBVQkxJQyBzcGVleCAke09HR19MSUJSQVJJ RVN9KQoraWYoV0lOMzIpCisJdGFyZ2V0X2xpbmtfbGlicmFyaWVzKHNwZWV4ZGVjIFBSSVZBVEUg d2lubW0ubGliKQorZW5kaWYoKQordGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMoc3BlZXhkZWMK KwlQUklWQVRFIC1ESEFWRV9DT05GSUdfSCkKK2lmKE5PVCBIQVZFX0dFVE9QVF9MT05HKQorCXRh cmdldF9zb3VyY2VzKHNwZWV4ZGVjIFBSSVZBVEUKKwkJc3JjL2dldG9wdC5jCisJCXNyYy9nZXRv cHQxLmMKKwkJc3JjL3dhdmVfb3V0LmMpCitlbmRpZigpCisKKyMgVGVzdHMgKG5vIGF1dG9tYXRp YyBjaGVja2luZyBzdXBwb3J0ZWQpCisKK2FkZF9leGVjdXRhYmxlKHRlc3RlbmMgbGlic3BlZXgv dGVzdGVuYy5jKQordGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXModGVzdGVuYworCVBSSVZBVEUg JDxCVUlMRF9JTlRFUkZBQ0U6JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9PikKK3RhcmdldF9s aW5rX2xpYnJhcmllcyh0ZXN0ZW5jCisJUFJJVkFURSAke0xJQk19CisJUFVCTElDIHNwZWV4KQor dGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnModGVzdGVuYworCVBSSVZBVEUgLURIQVZFX0NPTkZJ R19IKQorYWRkX2V4ZWN1dGFibGUodGVzdGVuY193YiBsaWJzcGVleC90ZXN0ZW5jX3diLmMpCit0 YXJnZXRfaW5jbHVkZV9kaXJlY3Rvcmllcyh0ZXN0ZW5jX3diCisJUFJJVkFURSAkPEJVSUxEX0lO VEVSRkFDRToke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0+KQordGFyZ2V0X2xpbmtfbGlicmFy aWVzKHRlc3RlbmNfd2IKKwlQUklWQVRFICR7TElCTX0KKwlQVUJMSUMgc3BlZXgpCit0YXJnZXRf Y29tcGlsZV9kZWZpbml0aW9ucyh0ZXN0ZW5jX3diCisJUFJJVkFURSAtREhBVkVfQ09ORklHX0gp CithZGRfZXhlY3V0YWJsZSh0ZXN0ZW5jX3V3YiBsaWJzcGVleC90ZXN0ZW5jX3V3Yi5jKQordGFy Z2V0X2luY2x1ZGVfZGlyZWN0b3JpZXModGVzdGVuY191d2IKKwlQUklWQVRFICQ8QlVJTERfSU5U RVJGQUNFOiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfT4pCit0YXJnZXRfbGlua19saWJyYXJp ZXModGVzdGVuY191d2IKKwlQUklWQVRFICR7TElCTX0KKwlQVUJMSUMgc3BlZXgpCit0YXJnZXRf Y29tcGlsZV9kZWZpbml0aW9ucyh0ZXN0ZW5jX3V3YgorCVBSSVZBVEUgLURIQVZFX0NPTkZJR19I KQorCitlbmRpZigpCisKKyMgSW5zdGFsbGF0aW9uCisKK3NldChJTlNUQUxMX1RBUkdFVFMgc3Bl ZXgpCitpZihOT1QgRElTQUJMRV9CSU5BUklFUykKKwlsaXN0KEFQUEVORCBJTlNUQUxMX1RBUkdF VFMgc3BlZXhlbmMgc3BlZXhkZWMpCitlbmRpZigpCitpbnN0YWxsKFRBUkdFVFMgJHtJTlNUQUxM X1RBUkdFVFN9CisJRVhQT1JUIFNwZWV4VGFyZ2V0cworCVJVTlRJTUUJREVTVElOQVRJT04JCQkk e0NNQUtFX0lOU1RBTExfQklORElSfQorCUFSQ0hJVkUgREVTVElOQVRJT04JCQkke0NNQUtFX0lO U1RBTExfTElCRElSfQorCUxJQlJBUlkgREVTVElOQVRJT04JCQkke0NNQUtFX0lOU1RBTExfTElC RElSfQorCVBVQkxJQ19IRUFERVIgREVTVElOQVRJT04JJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVE SVJ9L3NwZWV4KQoraW5zdGFsbChGSUxFUyBkb2MvbWFudWFsLnBkZiBERVNUSU5BVElPTiAke0NN QUtFX0lOU1RBTExfRE9DRElSfSkKK2luc3RhbGwoRklMRVMgc3JjL3NwZWV4ZW5jLjEgc3JjL3Nw ZWV4ZGVjLjEgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX01BTkRJUn0vbWFuMSkKK2luc3Rh bGwoRklMRVMgc3BlZXgubTQgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0RBVEFST09URElS fS9hY2xvY2FsKQorCitzZXQocHJlZml4ICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9KQorc2V0KGV4 ZWNfcHJlZml4ICRce3ByZWZpeFx9KQorc2V0KGxpYmRpciAkXHtleGVjX3ByZWZpeFx9LyR7Q01B S0VfSU5TVEFMTF9MSUJESVJ9KQorc2V0KGluY2x1ZGVkaXIgJFx7cHJlZml4XH0vJHtDTUFLRV9J TlNUQUxMX0lOQ0xVREVESVJ9KQorc2V0KFNQRUVYX1ZFUlNJT04gJHtQUk9KRUNUX1ZFUlNJT059 KQoraWYoSEFWRV9MSUJNKQorCXNldChMSUJNIC1sbSkKK2VuZGlmKCkKK2NvbmZpZ3VyZV9maWxl KHNwZWV4LnBjLmluIHNwZWV4LnBjIEBPTkxZKQoraW5zdGFsbChGSUxFUyAke0NNQUtFX0NVUlJF TlRfQklOQVJZX0RJUn0vc3BlZXgucGMgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJ Un0vcGtnY29uZmlnKQorCitzZXQoUEFDS0FHRSAke1BST0pFQ1RfTkFNRX0pCitzZXQoVkVSU0lP TiAke1BST0pFQ1RfVkVSU0lPTn0pCitjb25maWd1cmVfZmlsZShTcGVleC5zcGVjLmluIFNwZWV4 LnNwZWMgQE9OTFkpCisKK2lmIChFTkFCTEVfUEFDS0FHRV9DT05GSUcpCisJaW5jbHVkZSAoQ01h a2VQYWNrYWdlQ29uZmlnSGVscGVycykKKwl3cml0ZV9iYXNpY19wYWNrYWdlX3ZlcnNpb25fZmls ZSAoU3BlZXhDb25maWdWZXJzaW9uLmNtYWtlIENPTVBBVElCSUxJVFkgU2FtZU1ham9yVmVyc2lv bikKKwlpZiAoVU5JWCkKKwkJc2V0KENNQUtFX0lOU1RBTExfUEFDS0FHRURJUiAke0NNQUtFX0lO U1RBTExfTElCRElSfS9jbWFrZS8ke1BST0pFQ1RfTkFNRX0pCisJZWxzZWlmKFdJTjMyKQorCQlz ZXQoQ01BS0VfSU5TVEFMTF9QQUNLQUdFRElSIGNtYWtlKQorCWVuZGlmKCkKKwlpbnN0YWxsKEVY UE9SVCBTcGVleFRhcmdldHMgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX1BBQ0tBR0VESVJ9 KQorCWluc3RhbGwoRklMRVMgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L1NwZWV4Q29uZmln VmVyc2lvbi5jbWFrZSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfUEFDS0FHRURJUn0pCisJ aW5zdGFsbChGSUxFUyBjbWFrZS9TcGVleENvbmZpZy5jbWFrZSBERVNUSU5BVElPTiAke0NNQUtF X0lOU1RBTExfUEFDS0FHRURJUn0pCitlbmRpZigpCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBi L01ha2VmaWxlLmFtCmluZGV4IGRjOTA0MTUuLjE1NWYwYTkgMTAwNjQ0Ci0tLSBhL01ha2VmaWxl LmFtCisrKyBiL01ha2VmaWxlLmFtCkBAIC0xMSw3ICsxMSwxMiBAQCBtNGRhdGFfREFUQSA9IHNw ZWV4Lm00CiBwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCiBwa2djb25maWdfREFU QSA9IHNwZWV4LnBjCiAKLUVYVFJBX0RJU1QgPSBTcGVleC5zcGVjIFNwZWV4LnNwZWMuaW4gU3Bl ZXgua2RldmVsb3Agc3BlZXgubTQgc3BlZXgucGMuaW4gUkVBRE1FLmJsYWNrZmluIFJFQURNRS5z eW1iaWFuIFJFQURNRS5USS1EU1AKK0VYVFJBX0RJU1QgPSBTcGVleC5zcGVjIFNwZWV4LnNwZWMu aW4gU3BlZXgua2RldmVsb3Agc3BlZXgubTQgc3BlZXgucGMuaW4gXAorCVJFQURNRS5ibGFja2Zp biBSRUFETUUuc3ltYmlhbiBSRUFETUUuVEktRFNQIENNYWtlTGlzdHMudHh0IGNvbmZpZy5oLmNt YWtlIFwKKwkkKGNtYWtlX2ZpbGVzKQorCitjbWFrZV9maWxlcyA9IGNtYWtlL0ZpbmRPZ2cuY21h a2UgY21ha2UvRmluZFNwZWV4RHNwLmNtYWtlIFwKKwljbWFrZS9GaW5kU3BlZXhEc3AuY21ha2Ug Y21ha2UvU3BlZXhDb25maWcuY21ha2UgY21ha2UvVGVzdFZhckFycmF5cy5jbWFrZQogCiAjRm9v bHMgS0RldmVsb3AgaW50byBpbmNsdWRpbmcgYWxsIGZpbGVzCiBTVUJESVJTID0gbGlic3BlZXgg aW5jbHVkZSBkb2Mgd2luMzIgc3ltYmlhbiB0aQpkaWZmIC0tZ2l0IGEvY21ha2UvRmluZEZGVFcu Y21ha2UgYi9jbWFrZS9GaW5kRkZUVy5jbWFrZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi41N2UxM2U0Ci0tLSAvZGV2L251bGwKKysrIGIvY21ha2UvRmluZEZGVFcuY21ha2UK QEAgLTAsMCArMSwyOCBAQAorIyAtIEZpbmQgZmZ0dworIyBGaW5kIHRoZSBuYXRpdmUgZmZ0dyBp bmNsdWRlcyBhbmQgbGlicmFyaWVzCisjCisjICBGRlRXX0lOQ0xVREVfRElSUyAtIHdoZXJlIHRv IGZpbmQgZmZ0dy5oLCBldGMuCisjICBGRlRXX0xJQlJBUklFUyAgICAtIExpc3Qgb2YgbGlicmFy aWVzIHdoZW4gdXNpbmcgZmZ0dy4KKyMgIEZGVFdfRk9VTkQgICAgICAgIC0gVHJ1ZSBpZiBmZnR3 IGZvdW5kLgorCitpZihGRlRXX0lOQ0xVREVfRElSKQorICAgICMgQWxyZWFkeSBpbiBjYWNoZSwg YmUgc2lsZW50CisgICAgc2V0KEZGVFdfRklORF9RVUlFVExZIFRSVUUpCitlbmRpZihGRlRXX0lO Q0xVREVfRElSKQorCitmaW5kX3BhY2thZ2UgKFBrZ0NvbmZpZyBRVUlFVCkKK3BrZ19jaGVja19t b2R1bGVzKFBDX0ZGVFcgUVVJRVQgZmZ0dzNmKQorCitmaW5kX3BhdGgoRkZUV19JTkNMVURFX0RJ UiBmZnR3My5oIEhJTlRTICR7UENfRkZUV19JTkNMVURFRElSfSAke1BDX0ZGVFdfSU5DTFVERV9E SVJTfSAke0ZGVFdfUk9PVH0gUEFUSF9TVUZGSVhFUyBpbmNsdWRlKQorZmluZF9saWJyYXJ5KEZG VFdfTElCUkFSWSBOQU1FUyBmZnR3M2YgSElOVFMgJHtQQ19GRlRXX0xJQkRJUn0gJHtQQ19GRlRX X0xJQlJBUllfRElSU30gJHtGRlRXX1JPT1R9IFBBVEhfU1VGRklYRVMgbGliKQorIyBIYW5kbGUg dGhlIFFVSUVUTFkgYW5kIFJFUVVJUkVEIGFyZ3VtZW50cyBhbmQgc2V0IEZGVFdfRk9VTkQKKyMg dG8gVFJVRSBpZiBhbGwgbGlzdGVkIHZhcmlhYmxlcyBhcmUgVFJVRS4KK2luY2x1ZGUoRmluZFBh Y2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCitmaW5kX3BhY2thZ2VfaGFuZGxlX3N0YW5kYXJkX2Fy Z3MoRkZUVyBERUZBVUxUX01TRyBGRlRXX0lOQ0xVREVfRElSIEZGVFdfTElCUkFSWSkKKworaWYg KEZGVFdfRk9VTkQpCisJc2V0IChGRlRXX0xJQlJBUklFUyAke0ZGVFdfTElCUkFSWX0pCisJc2V0 IChGRlRXX0lOQ0xVREVfRElSUyAke0ZGVFdfSU5DTFVERV9ESVJ9KQorZW5kaWYgKEZGVFdfRk9V TkQpCisKK21hcmtfYXNfYWR2YW5jZWQoRkZUV19JTkNMVURFX0RJUiBGRlRXX0xJQlJBUlkpCmRp ZmYgLS1naXQgYS9jbWFrZS9GaW5kT2dnLmNtYWtlIGIvY21ha2UvRmluZE9nZy5jbWFrZQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzEwNTE4Ci0tLSAvZGV2L251bGwKKysr IGIvY21ha2UvRmluZE9nZy5jbWFrZQpAQCAtMCwwICsxLDMwIEBACisjIC0gRmluZCBvZ2cKKyMg RmluZCB0aGUgbmF0aXZlIG9nZyBpbmNsdWRlcyBhbmQgbGlicmFyaWVzCisjCisjICBPR0dfSU5D TFVERV9ESVJTIC0gd2hlcmUgdG8gZmluZCBvZ2cuaCwgZXRjLgorIyAgT0dHX0xJQlJBUklFUyAg ICAtIExpc3Qgb2YgbGlicmFyaWVzIHdoZW4gdXNpbmcgb2dnLgorIyAgT2dnX0ZPVU5EICAgICAg ICAtIFRydWUgaWYgb2dnIGZvdW5kLgorCitpZihPR0dfSU5DTFVERV9ESVIpCisgICAgIyBBbHJl YWR5IGluIGNhY2hlLCBiZSBzaWxlbnQKKyAgICBzZXQoT0dHX0ZJTkRfUVVJRVRMWSBUUlVFKQor ZW5kaWYoT0dHX0lOQ0xVREVfRElSKQorCitmaW5kX3BhY2thZ2UgKFBrZ0NvbmZpZyBRVUlFVCkK K3BrZ19jaGVja19tb2R1bGVzKFBDX09HRyBRVUlFVCBvZ2cpCisKK2ZpbmRfcGF0aChPR0dfSU5D TFVERV9ESVIgb2dnL29nZy5oIEhJTlRTICR7UENfT0dHX0lOQ0xVREVESVJ9ICR7UENfT0dHX0lO Q0xVREVfRElSU30gJHtPR0dfUk9PVH0gUEFUSF9TVUZGSVhFUyBpbmNsdWRlKQorIyBNU1ZDIGJ1 aWx0IG9nZyBtYXkgYmUgbmFtZWQgb2dnX3N0YXRpYy4KKyMgVGhlIHByb3ZpZGVkIHByb2plY3Qg ZmlsZXMgbmFtZSB0aGUgbGlicmFyeSB3aXRoIHRoZSBsaWIgcHJlZml4LgorZmluZF9saWJyYXJ5 KE9HR19MSUJSQVJZIE5BTUVTIG9nZyBvZ2dfc3RhdGljIGxpYm9nZyBsaWJvZ2dfc3RhdGljIEhJ TlRTICR7UENfT0dHX0xJQkRJUn0gJHtQQ19PR0dfTElCUkFSWV9ESVJTfSAke09HR19ST09UfSBQ QVRIX1NVRkZJWEVTIGxpYikKKyMgSGFuZGxlIHRoZSBRVUlFVExZIGFuZCBSRVFVSVJFRCBhcmd1 bWVudHMgYW5kIHNldCBPR0dfRk9VTkQKKyMgdG8gVFJVRSBpZiBhbGwgbGlzdGVkIHZhcmlhYmxl cyBhcmUgVFJVRS4KK2luY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCitmaW5k X3BhY2thZ2VfaGFuZGxlX3N0YW5kYXJkX2FyZ3MoT2dnIERFRkFVTFRfTVNHIE9HR19JTkNMVURF X0RJUiBPR0dfTElCUkFSWSkKKworaWYgKE9HR19GT1VORCkKKwlzZXQgKE9HR19MSUJSQVJJRVMg JHtPR0dfTElCUkFSWX0pCisJc2V0IChPR0dfSU5DTFVERV9ESVJTICR7T0dHX0lOQ0xVREVfRElS fSkKK2VuZGlmIChPR0dfRk9VTkQpCisKK21hcmtfYXNfYWR2YW5jZWQoT0dHX0lOQ0xVREVfRElS IE9HR19MSUJSQVJZKQpkaWZmIC0tZ2l0IGEvY21ha2UvRmluZFNwZWV4RHNwLmNtYWtlIGIvY21h a2UvRmluZFNwZWV4RHNwLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmQ0YTMzMmYKLS0tIC9kZXYvbnVsbAorKysgYi9jbWFrZS9GaW5kU3BlZXhEc3AuY21ha2UKQEAg LTAsMCArMSwyOCBAQAorIyAtIEZpbmQgc3BlZXhkc3AKKyMgRmluZCB0aGUgbmF0aXZlIHNwZWV4 ZHNwIGluY2x1ZGVzIGFuZCBsaWJyYXJpZXMKKyMKKyMgIFNQRUVYRFNQX0lOQ0xVREVfRElSUyAt IHdoZXJlIHRvIGZpbmQgc3BlZXhfcHJlcHJvY2Vzcy5oLCBldGMuCisjICBTUEVFWERTUF9MSUJS QVJJRVMgICAgLSBMaXN0IG9mIGxpYnJhcmllcyB3aGVuIHVzaW5nIHNwZWV4ZHNwLgorIyAgU3Bl ZXhEc3BfRk9VTkQgICAgICAgIC0gVHJ1ZSBpZiBzcGVleGRzcCBmb3VuZC4KKworaWYoU1BFRVhE U1BfSU5DTFVERV9ESVIpCisgICAgIyBBbHJlYWR5IGluIGNhY2hlLCBiZSBzaWxlbnQKKyAgICBz ZXQoU1BFRVhEU1BfRklORF9RVUlFVExZIFRSVUUpCitlbmRpZihTUEVFWERTUF9JTkNMVURFX0RJ UikKKworZmluZF9wYWNrYWdlIChQa2dDb25maWcgUVVJRVQpCitwa2dfY2hlY2tfbW9kdWxlcyhQ Q19TUEVFWERTUCBRVUlFVCBzcGVleGRzcCkKKworZmluZF9wYXRoKFNQRUVYRFNQX0lOQ0xVREVf RElSIHNwZWV4L3NwZWV4X3ByZXByb2Nlc3MuaCBISU5UUyAke1BDX1NQRUVYRFNQX0lOQ0xVREVE SVJ9ICR7UENfU1BFRVhEU1BfSU5DTFVERV9ESVJTfSAke1NQRUVYRFNQX1JPT1R9IFBBVEhfU1VG RklYRVMgaW5jbHVkZSkKK2ZpbmRfbGlicmFyeShTUEVFWERTUF9MSUJSQVJZIE5BTUVTIHNwZWV4 ZHNwIEhJTlRTICR7UENfU1BFRVhEU1BfTElCRElSfSAke1BDX1NQRUVYRFNQX0xJQlJBUllfRElS U30gJHtTUEVFWERTUF9ST09UfSBQQVRIX1NVRkZJWEVTIGxpYikKKyMgSGFuZGxlIHRoZSBRVUlF VExZIGFuZCBSRVFVSVJFRCBhcmd1bWVudHMgYW5kIHNldCBTUEVFWERTUF9GT1VORAorIyB0byBU UlVFIGlmIGFsbCBsaXN0ZWQgdmFyaWFibGVzIGFyZSBUUlVFLgoraW5jbHVkZShGaW5kUGFja2Fn ZUhhbmRsZVN0YW5kYXJkQXJncykKK2ZpbmRfcGFja2FnZV9oYW5kbGVfc3RhbmRhcmRfYXJncyhT cGVleERzcCBERUZBVUxUX01TRyBTUEVFWERTUF9JTkNMVURFX0RJUiBTUEVFWERTUF9MSUJSQVJZ KQorCitpZiAoU1BFRVhEU1BfRk9VTkQpCisJc2V0IChTUEVFWERTUF9MSUJSQVJJRVMgJHtTUEVF WERTUF9MSUJSQVJZfSkKKwlzZXQgKFNQRUVYRFNQX0lOQ0xVREVfRElSUyAke1NQRUVYRFNQX0lO Q0xVREVfRElSfSkKK2VuZGlmIChTUEVFWERTUF9GT1VORCkKKworbWFya19hc19hZHZhbmNlZChT UEVFWERTUF9JTkNMVURFX0RJUiBTUEVFWERTUF9MSUJSQVJZKQpkaWZmIC0tZ2l0IGEvY21ha2Uv U3BlZXhDb25maWcuY21ha2UgYi9jbWFrZS9TcGVleENvbmZpZy5jbWFrZQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmM5OWU4Ci0tLSAvZGV2L251bGwKKysrIGIvY21ha2Uv U3BlZXhDb25maWcuY21ha2UKQEAgLTAsMCArMSBAQAoraW5jbHVkZSAoJHtDTUFLRV9DVVJSRU5U X0xJU1RfRElSfS9TcGVleFRhcmdldHMuY21ha2UpCmRpZmYgLS1naXQgYS9jbWFrZS9UZXN0VmFy QXJyYXlzLmNtYWtlIGIvY21ha2UvVGVzdFZhckFycmF5cy5jbWFrZQpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi4xMWY0MTNmCi0tLSAvZGV2L251bGwKKysrIGIvY21ha2UvVGVz dFZhckFycmF5cy5jbWFrZQpAQCAtMCwwICsxLDIyIEBACitpbmNsdWRlKENoZWNrQ1NvdXJjZUNv bXBpbGVzKQorCittYWNybyhURVNUX1ZBUkFSUkFZUyBWQVJJQUJMRSkKKwlpZihOT1QgREVGSU5F RCAke1ZBUklBQkxFfSkKKwkJY2hlY2tfY19zb3VyY2VfY29tcGlsZXMoCisJCQkiCisJCQl2b2lk IG1haW4odm9pZCkKKwkJCXsKKwkJCQlpbnQgZm9vOworCQkJCWZvbyA9IDEwOworCQkJCWludCBh cnJheVtmb29dOworCQkJfTsKKwkJCSIKKwkJCVZBUkFSUkFZU19TVVBQT1JUKQorCQlzZXQoJHtW QVJJQUJMRX0gJHtWQVJBUlJBWVNfU1VQUE9SVH0gQ0FDSEUgSU5URVJOQUwgIkM5OSB2YXJpYWJs ZS1zaXplIGFycmF5cyBzdXBwb3J0IiBGT1JDRSkKKwkJaWYoJHtWQVJJQUJMRX0pCisJCQlzZXQo UkVTVUxUX1RFWFQgInN1Y2Nlc3MiKQorCQllbHNlKCkKKwkJCXNldChSRVNVTFRfVEVYVCAiZmFp bGVkIikKKwkJZW5kaWYoKQorCWVuZGlmKCkKK2VuZG1hY3JvKFRFU1RfVkFSQVJSQVlTIFZBUklB QkxFKQpkaWZmIC0tZ2l0IGEvY29uZmlnLmguY21ha2UgYi9jb25maWcuaC5jbWFrZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmY4OGIxCi0tLSAvZGV2L251bGwKKysrIGIv Y29uZmlnLmguY21ha2UKQEAgLTAsMCArMSwyMyBAQAorI2NtYWtlZGVmaW5lIFdPUkRTX0JJR0VO RElBTgorI2NtYWtlZGVmaW5lIEZMT0FUSU5HX1BPSU5UCisjY21ha2VkZWZpbmUgRklYRURfUE9J TlQKKyNjbWFrZWRlZmluZSBGSVhFRF9QT0lOVF9ERUJVRworI2NtYWtlZGVmaW5lIERJU0FCTEVf RkxPQVRfQVBJCisjY21ha2VkZWZpbmUgX1VTRV9TU0UKKyNjbWFrZWRlZmluZSBBUk00X0FTTQor I2NtYWtlZGVmaW5lIEFSTTVFX0FTTQorI2NtYWtlZGVmaW5lIEJGSU5fQVNNCisjY21ha2VkZWZp bmUgVElfQzU1WAorI2NtYWtlZGVmaW5lIERJU0FCTEVfVkJSCisjY21ha2VkZWZpbmUgVVNFX1NQ RUVYRFNQCisjY21ha2VkZWZpbmUgVk9SQklTX1BTWUNITworI2NtYWtlZGVmaW5lIEhBVkVfR0VU T1BUX0gKKyNjbWFrZWRlZmluZSBIQVZFX0dFVE9QVF9MT05HCisjY21ha2VkZWZpbmUgVkFSX0FS UkFZUworI2NtYWtlZGVmaW5lIFVTRV9BTExPQ0EKKyNjbWFrZWRlZmluZSBIQVZFX0FMTE9DQV9I CisjY21ha2VkZWZpbmUgVVNFX1NNQUxMRlQKKyNjbWFrZWRlZmluZSBVU0VfS0lTU19GRlQKKyNj bWFrZWRlZmluZSBVU0VfR1BMX0ZGVFczCisKKyNkZWZpbmUgRVhQT1JUIEBFWFBPUlRACi0tIAoy LjEyLjAud2luZG93cy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpTcGVleC1kZXYgbWFpbGluZyBsaXN0ClNwZWV4LWRldkB4aXBoLm9yZwpodHRwOi8v bGlzdHMueGlwaC5vcmcvbWFpbG1hbi9saXN0aW5mby9zcGVleC1kZXYK